AWS SDK

AWS SDK

rev. 628eeeeeed390f5efdbfe607c18848c033debd3e (ignoring whitespace)

Files changed:

tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sreq

@@ -1,0 +7,0 @@
    1         -
GET / HTTP/1.1
    2         -
Host:example.amazonaws.com
    3         -
My-Header1:value1
    4         -
  value2
    5         -
     value3
    6         -
X-Amz-Date:20150830T123600Z
    7         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=ba17b383a53190154eb5fa66a1b836cc297cc0a3d70a5d00705980573d8ff790

tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.authz

@@ -1,0 +8463,10653 @@
    1         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
              \
 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-header-value-order/get-header-value-order.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sreq
    3      1   
deleted file mode 100644
    4      2   
index 79e16a9..0000000
    5         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sreq
           3  +
++ /dev/null
    6      4   
@@ -1,8 +0,0 @@
    7         -
GET / HTTP/1.1
    8         -
Host:example.amazonaws.com
    9         -
My-Header1:value4
   10         -
My-Header1:value1
   11         -
My-Header1:value3
   12         -
My-Header1:value2
   13         -
X-Amz-Date:20150830T123600Z
   14         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
              \
 No newline at end of file
   15      5   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.authz
   16      6   
deleted file mode 100644
   17      7   
index 4874ac0..0000000
   18         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.authz
           8  +
++ /dev/null
   19      9   
@@ -1 +0,0 @@
   20         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date, Signature=acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
              \
 No newline at end of file
   21     10   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sreq
   22     11   
deleted file mode 100644
   23     12   
index 98224c9..0000000
   24         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sreq
          13  +
++ /dev/null
   25     14   
@@ -1,6 +0,0 @@
   26         -
GET / HTTP/1.1
   27         -
Host:example.amazonaws.com
   28         -
My-Header1: value1
   29         -
My-Header2: "a   b   c"
   30         -
X-Amz-Date:20150830T123600Z
   31         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date, Signature=acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
              \
 No newline at end of file
   32     15   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.authz
   33     16   
deleted file mode 100644
   34     17   
index 2943ec8..0000000
   35         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.authz
          18  +
++ /dev/null
   36     19   
@@ -1 +0,0 @@
   37         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
              \
 No newline at end of file
   38     20   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sreq
   39     21   
deleted file mode 100644
   40     22   
index 8001b3d..0000000
   41         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sreq
          23  +
++ /dev/null
   42     24   
@@ -1,4 +0,0 @@
   43         -
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
   44         -
Host:example.amazonaws.com
   45         -
X-Amz-Date:20150830T123600Z
   46         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
              \
 No newline at end of file
   47     25   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.authz
   48     26   
deleted file mode 100644
   49     27   
index 738b3fb..0000000
   50         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.authz
          28  +
++ /dev/null
   51     29   
@@ -1 +0,0 @@
   52         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
              \
 No newline at end of file
   53     30   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sreq
   54     31   
deleted file mode 100644
   55     32   
index 94eadb6..0000000
   56         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sreq
          33  +
++ /dev/null
   57     34   
@@ -1,4 +0,0 @@
   58         -
GET /ሴ HTTP/1.1
   59         -
Host:example.amazonaws.com
   60         -
X-Amz-Date:20150830T123600Z
   61         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
              \
 No newline at end of file
   62     35   
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.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.authz
   63     36   
deleted file mode 100644
   64     37   
index 65b5c7c..0000000
   65         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.authz
          38  +
++ /dev/null
   66     39   
@@ -1 +0,0 @@
   67         -
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
   68     40   
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
   69     41   
deleted file mode 100644
   70     42   
index f081591..0000000
   71         -
-- 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
          43  +
++ /dev/null
   72     44   
@@ -1,4 +0,0 @@
   73         -
GET /?Param1=value1 HTTP/1.1
   74         -
Host:example.amazonaws.com
   75         -
X-Amz-Date:20150830T123600Z
   76         -
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
   77     45   
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
   78     46   
deleted file mode 100644
   79     47   
index c781fe6..0000000
   80         -
-- 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
          48  +
++ /dev/null
   81     49   
@@ -1 +0,0 @@
   82         -
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
   83     50   
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
   84     51   
deleted file mode 100644
   85     52   
index b29c1e0..0000000
   86         -
-- 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
          53  +
++ /dev/null
   87     54   
@@ -1,2 +0,0 @@
   88         -
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
   89         -
Host:example.amazonaws.com
   90     55   
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
   91     56   
deleted file mode 100644
   92     57   
index e55b6b8..0000000
   93         -
-- 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
          58  +
++ /dev/null
   94     59   
@@ -1,4 +0,0 @@
   95         -
GET /?Param2=value2&Param1=value1 HTTP/1.1
   96         -
Host:example.amazonaws.com
   97         -
X-Amz-Date:20150830T123600Z
   98         -
Authorization: AWS4-HMAC-SHA256 Credential=ANOTREAL/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5557820e7380d585310524bd93d51a08d7757fb5efd7344ee12088f2b0860947
   99     60   
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
  100     61   
deleted file mode 100644
  101     62   
index 812cd3f..0000000
  102         -
-- 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
          63  +
++ /dev/null
  103     64   
@@ -1 +0,0 @@
  104         -
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
  105     65   
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
  106     66   
deleted file mode 100644
  107     67   
index 375a496..0000000
  108         -
-- 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
          68  +
++ /dev/null
  109     69   
@@ -1,3 +0,0 @@
  110         -
GET /?Param1=value2&Param1=Value1 HTTP/1.1
  111         -
Host:example.amazonaws.com
  112         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
  113     70   
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
  114     71   
deleted file mode 100644
  115     72   
index bc8e652..0000000
  116         -
-- 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
          73  +
++ /dev/null
  117     74   
@@ -1,4 +0,0 @@
  118         -
GET /?Param1=value2&Param1=Value1 HTTP/1.1
  119         -
Host:example.amazonaws.com
  120         -
X-Amz-Date:20150830T123600Z
  121         -
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
  122     75   
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
  123     76   
deleted file mode 100644
  124     77   
index b8ad91f..0000000
  125         -
-- 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
          78  +
++ /dev/null
  126     79   
@@ -1 +0,0 @@
  127         -
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
  128     80   
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
  129     81   
deleted file mode 100644
  130     82   
index 9255bee..0000000
  131         -
-- 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
          83  +
++ /dev/null
  132     84   
@@ -1,3 +0,0 @@
  133         -
GET /?Param1=value2&Param1=value1 HTTP/1.1
  134         -
Host:example.amazonaws.com
  135         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
  136     85   
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
  137     86   
deleted file mode 100644
  138     87   
index 4793e21..0000000
  139         -
-- 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
          88  +
++ /dev/null
  140     89   
@@ -1,4 +0,0 @@
  141         -
GET /?Param1=value2&Param1=value1 HTTP/1.1
  142         -
Host:example.amazonaws.com
  143         -
X-Amz-Date:20150830T123600Z
  144         -
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
  145     90   
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
  146     91   
deleted file mode 100644
  147     92   
index a44ca5b..0000000
  148         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.authz
          93  +
++ /dev/null
  149     94   
@@ -1 +0,0 @@
  150         -
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
  151     95   
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
  152     96   
deleted file mode 100644
  153     97   
index 551c027..0000000
  154         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.authz
          98  +
++ /dev/null
  155     99   
@@ -1 +0,0 @@
  156         -
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
  157    100   
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
  158    101   
deleted file mode 100644
  159    102   
index d739b01..0000000
  160         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sreq
         103  +
++ /dev/null
  161    104   
@@ -1,4 +0,0 @@
  162         -
GET / HTTP/1.1
  163         -
Host:example.amazonaws.com
  164         -
X-Amz-Date:20150830T123600Z
  165         -
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
  166    105   
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
  167    106   
deleted file mode 100644
  168    107   
index e016c3d..0000000
  169         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.authz
         108  +
++ /dev/null
  170    109   
@@ -1 +0,0 @@
  171         -
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
  172    110   
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
  173    111   
deleted file mode 100644
  174    112   
index 7baf4c8..0000000
  175         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sreq
         113  +
++ /dev/null
  176    114   
@@ -1,4 +0,0 @@
  177         -
GET /?ሴ=bar HTTP/1.1
  178         -
Host:example.amazonaws.com
  179         -
X-Amz-Date:20150830T123600Z
  180         -
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
  181    115   
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
  182    116   
deleted file mode 100644
  183    117   
index 551c027..0000000
  184         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.authz
         118  +
++ /dev/null
  185    119   
@@ -1 +0,0 @@
  186         -
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
  187    120   
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
  188    121   
deleted file mode 100644
  189    122   
index d739b01..0000000
  190         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sreq
         123  +
++ /dev/null
  191    124   
@@ -1,4 +0,0 @@
  192         -
GET / HTTP/1.1
  193         -
Host:example.amazonaws.com
  194         -
X-Amz-Date:20150830T123600Z
  195         -
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
  196    125   
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
  197    126   
deleted file mode 100644
  198    127   
index 1336241..0000000
  199         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/iam/iam.creq
         128  +
++ /dev/null
  200    129   
@@ -1,4 +0,0 @@
  201         -
AWS4-HMAC-SHA256
  202         -
20150830T123600Z
  203         -
20150830/us-east-1/iam/aws4_request
  204         -
f536975d06c0309214f805bb90ccff089219ecd68b2577efef23edd43b7e1a59
  205    130   
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
  206    131   
deleted file mode 100644
  207    132   
index 551c027..0000000
  208         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.authz
         133  +
++ /dev/null
  209    134   
@@ -1 +0,0 @@
  210         -
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
  211    135   
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
  212    136   
deleted file mode 100644
  213    137   
index cbdebe2..0000000
  214         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sreq
         138  +
++ /dev/null
  215    139   
@@ -1,4 +0,0 @@
  216         -
GET /example1/example2/../.. HTTP/1.1
  217         -
Host:example.amazonaws.com
  218         -
X-Amz-Date:20150830T123600Z
  219         -
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
  220    140   
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
  221    141   
deleted file mode 100644
  222    142   
index 551c027..0000000
  223         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.authz
         143  +
++ /dev/null
  224    144   
@@ -1 +0,0 @@
  225         -
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
  226    145   
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
  227    146   
deleted file mode 100644
  228    147   
index 4f59e7d..0000000
  229         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sreq
         148  +
++ /dev/null
  230    149   
@@ -1,4 +0,0 @@
  231         -
GET /example/.. HTTP/1.1
  232         -
Host:example.amazonaws.com
  233         -
X-Amz-Date:20150830T123600Z
  234         -
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
  235    150   
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
  236    151   
deleted file mode 100644
  237    152   
index 551c027..0000000
  238         -
-- 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
         153  +
++ /dev/null
  239    154   
@@ -1 +0,0 @@
  240         -
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
  241    155   
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
  242    156   
deleted file mode 100644
  243    157   
index 23a2b41..0000000
  244         -
-- 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
         158  +
++ /dev/null
  245    159   
@@ -1,4 +0,0 @@
  246         -
GET /./ HTTP/1.1
  247         -
Host:example.amazonaws.com
  248         -
X-Amz-Date:20150830T123600Z
  249         -
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
  250    160   
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
  251    161   
deleted file mode 100644
  252    162   
index b76ca1e..0000000
  253         -
-- 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
         163  +
++ /dev/null
  254    164   
@@ -1 +0,0 @@
  255         -
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
  256    165   
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
  257    166   
deleted file mode 100644
  258    167   
index 8096609..0000000
  259         -
-- 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
         168  +
++ /dev/null
  260    169   
@@ -1,4 +0,0 @@
  261         -
GET /./example HTTP/1.1
  262         -
Host:example.amazonaws.com
  263         -
X-Amz-Date:20150830T123600Z
  264         -
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
  265    170   
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
  266    171   
deleted file mode 100644
  267    172   
index 551c027..0000000
  268         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.authz
         173  +
++ /dev/null
  269    174   
@@ -1 +0,0 @@
  270         -
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
  271    175   
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
  272    176   
deleted file mode 100644
  273    177   
index cde31b4..0000000
  274         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sreq
         178  +
++ /dev/null
  275    179   
@@ -1,4 +0,0 @@
  276         -
GET // HTTP/1.1
  277         -
Host:example.amazonaws.com
  278         -
X-Amz-Date:20150830T123600Z
  279         -
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
  280    180   
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
  281    181   
deleted file mode 100644
  282    182   
index 307c105..0000000
  283         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.authz
         183  +
++ /dev/null
  284    184   
@@ -1 +0,0 @@
  285         -
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
  286    185   
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
  287    186   
deleted file mode 100644
  288    187   
index c84a80d..0000000
  289         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sreq
         188  +
++ /dev/null
  290    189   
@@ -1,4 +0,0 @@
  291         -
GET //example// HTTP/1.1
  292         -
Host:example.amazonaws.com
  293         -
X-Amz-Date:20150830T123600Z
  294         -
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
  295    190   
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
  296    191   
deleted file mode 100644
  297    192   
index 832d8a5..0000000
  298         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.authz
         193  +
++ /dev/null
  299    194   
@@ -1 +0,0 @@
  300         -
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
  301    195   
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
  302    196   
deleted file mode 100644
  303    197   
index eefa20c..0000000
  304         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sreq
         198  +
++ /dev/null
  305    199   
@@ -1,4 +0,0 @@
  306         -
GET /example space/ HTTP/1.1
  307         -
Host:example.amazonaws.com
  308         -
X-Amz-Date:20150830T123600Z
  309         -
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
  310    200   
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
  311    201   
deleted file mode 100644
  312    202   
index c2fcb27..0000000
  313         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/normalize-path.txt
         203  +
++ /dev/null
  314    204   
@@ -1,3 +0,0 @@
  315         -
A note about signing requests to Amazon S3:
  316         -

  317         -
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
  318    205   
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
  319    206   
deleted file mode 100644
  320    207   
index 89e572e..0000000
  321         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.authz
         208  +
++ /dev/null
  322    209   
@@ -1 +0,0 @@
  323         -
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
  324    210   
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
  325    211   
deleted file mode 100644
  326    212   
index fcf23ce..0000000
  327         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sreq
         213  +
++ /dev/null
  328    214   
@@ -1,4 +0,0 @@
  329         -
POST / HTTP/1.1
  330         -
Host:example.amazonaws.com
  331         -
X-Amz-Date:20150830T123600Z
  332         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
  333    215   
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
  334    216   
deleted file mode 100644
  335    217   
index a62589f..0000000
  336         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.authz
         218  +
++ /dev/null
  337    219   
@@ -1 +0,0 @@
  338         -
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
  339    220   
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
  340    221   
deleted file mode 100644
  341    222   
index b4b78a1..0000000
  342         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sreq
         223  +
++ /dev/null
  343    224   
@@ -1,5 +0,0 @@
  344         -
POST / HTTP/1.1
  345         -
Host:example.amazonaws.com
  346         -
My-Header1:value1
  347         -
X-Amz-Date:20150830T123600Z
  348         -
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
  349    225   
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
  350    226   
deleted file mode 100644
  351    227   
index d9e52a3..0000000
  352         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.authz
         228  +
++ /dev/null
  353    229   
@@ -1 +0,0 @@
  354         -
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
  355    230   
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
  356    231   
deleted file mode 100644
  357    232   
index 99c3210..0000000
  358         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sreq
         233  +
++ /dev/null
  359    234   
@@ -1,5 +0,0 @@
  360         -
POST / HTTP/1.1
  361         -
Host:example.amazonaws.com
  362         -
My-Header1:VALUE1
  363         -
X-Amz-Date:20150830T123600Z
  364         -
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
  365    235   
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
  366    236   
deleted file mode 100644
  367    237   
index 89e572e..0000000
  368         -
-- 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
         238  +
++ /dev/null
  369    239   
@@ -1 +0,0 @@
  370         -
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
  371    240   
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
  372    241   
deleted file mode 100644
  373    242   
index 64aa046..0000000
  374         -
-- 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
         243  +
++ /dev/null
  375    244   
@@ -1 +0,0 @@
  376         -
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
  377    245   
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
  378    246   
deleted file mode 100644
  379    247   
index cc34282..0000000
  380         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/readme.txt
         248  +
++ /dev/null
  381    249   
@@ -1,15 +0,0 @@
  382         -
A note about using temporary security credentials:
  383         -

  384         -
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).
  385         -

  386         -
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.
  387         -

  388         -
The test suite has 2 examples:
  389         -

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

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

  394         -
The test suite uses this example value for X-Amz-Security-Token:
  395         -

  396         -
AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
              \
 No newline at end of file
  397    250   
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
  398    251   
deleted file mode 100644
  399    252   
index 44280cd..0000000
  400         -
-- 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
         253  +
++ /dev/null
  401    254   
@@ -1 +0,0 @@
  402         -
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
  403    255   
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
  404    256   
deleted file mode 100644
  405    257   
index 82af150..0000000
  406         -
-- 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
         258  +
++ /dev/null
  407    259   
@@ -1,4 +0,0 @@
  408         -
POST /?Param1=value1 HTTP/1.1
  409         -
Host:example.amazonaws.com
  410         -
X-Amz-Date:20150830T123600Z
  411         -
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
  412    260   
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
  413    261   
deleted file mode 100644
  414    262   
index 44280cd..0000000
  415         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.authz
         263  +
++ /dev/null
  416    264   
@@ -1 +0,0 @@
  417         -
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
  418    265   
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
  419    266   
deleted file mode 100644
  420    267   
index 82af150..0000000
  421         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sreq
         268  +
++ /dev/null
  422    269   
@@ -1,4 +0,0 @@
  423         -
POST /?Param1=value1 HTTP/1.1
  424         -
Host:example.amazonaws.com
  425         -
X-Amz-Date:20150830T123600Z
  426         -
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
  427    270   
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
  428    271   
deleted file mode 100644
  429    272   
index 89e572e..0000000
  430         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz
         273  +
++ /dev/null
  431    274   
@@ -1 +0,0 @@
  432         -
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
  433    275   
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
  434    276   
deleted file mode 100644
  435    277   
index a5ada0d..0000000
  436         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sreq
         278  +
++ /dev/null
  437    279   
@@ -1,4 +0,0 @@
  438         -
POST / HTTP/1.1
  439         -
Host:example.amazonaws.com
  440         -
X-Amz-Date:20150830T123600Z
  441         -
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
  442    280   
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
  443    281   
deleted file mode 100644
  444    282   
index df90ca3..0000000
  445         -
-- 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
         283  +
++ /dev/null
  446    284   
@@ -1 +0,0 @@
  447         -
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
  448    285   
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
  449    286   
deleted file mode 100644
  450    287   
index 457b0d5..0000000
  451         -
-- 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
         288  +
++ /dev/null
  452    289   
@@ -1,9 +0,0 @@
  453         -
POST
  454         -
/
  455         -
Param1=value1
  456         -
content-type:application/x-www-form-urlencoded; charset=utf-8
  457         -
host:example.amazonaws.com
  458         -
x-amz-date:20150830T123600Z
  459         -
  460         -
content-type;host;x-amz-date
  461         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
  462    290   
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
  463    291   
deleted file mode 100644
  464    292   
index b8ecb89..0000000
  465         -
-- 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
         293  +
++ /dev/null
  466    294   
@@ -1,7 +0,0 @@
  467         -
POST / HTTP/1.1
  468         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
  469         -
Host:example.amazonaws.com
  470         -
X-Amz-Date:20150830T123600Z
  471         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=ad1ac0c5fa1793b9b9d23894903b9ce84044d014533a633091e12c840473b393
  472         -
  473         -
Param1=value1
              \
 No newline at end of file
  474    295   
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
  475    296   
deleted file mode 100644
  476    297   
index 79077d2..0000000
  477         -
-- 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
         298  +
++ /dev/null
  478    299   
@@ -1 +0,0 @@
  479         -
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
  480    300   
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
  481    301   
deleted file mode 100644
  482    302   
index 7852617..0000000
  483         -
-- 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
         303  +
++ /dev/null
  484    304   
@@ -1,4 +0,0 @@
  485         -
POST / HTTP/1.1
  486         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
  487         -
Host:example.amazonaws.com
  488         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
  489    305   
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
  490    306   
deleted file mode 100644
  491    307   
index 3e2e571..0000000
  492         -
-- 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
         308  +
++ /dev/null
  493    309   
@@ -1,4 +0,0 @@
  494         -
POST / HTTP/1.1
  495         -
Host:example.amazonaws.com
  496         -
X-Amz-Date:20150830T123600Z
  497         -
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
  498    310   
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
  499    311   
deleted file mode 100644
  500    312   
index 89ceae8..0000000
  501         -
-- 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
         313  +
++ /dev/null
  502    314   
@@ -1,4 +0,0 @@
  503         -
AWS4-HMAC-SHA256
  504         -
20150830T123600Z
  505         -
20150830/us-east-1/service/aws4_request
  506         -
6a42edc18395dd67cc71407d4307ff29ab1646b08c1a0107edb319e08e2bc584
              \
 No newline at end of file
  507    315   
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
  508    316   
deleted file mode 100755
  509    317   
index d645695..0000000
  510         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/LICENSE
         318  +
++ /dev/null
  511    319   
@@ -1,202 +0,0 @@
  512         -
  513         -
                                 Apache License
  514         -
                           Version 2.0, January 2004
  515         -
                        http://www.apache.org/licenses/
  516         -
  517         -
   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
  518         -
  519         -
   1. Definitions.
  520         -
  521         -
      "License" shall mean the terms and conditions for use, reproduction,
  522         -
      and distribution as defined by Sections 1 through 9 of this document.
  523         -
  524         -
      "Licensor" shall mean the copyright owner or entity authorized by
  525         -
      the copyright owner that is granting the License.
  526         -
  527         -
      "Legal Entity" shall mean the union of the acting entity and all
  528         -
      other entities that control, are controlled by, or are under common
  529         -
      control with that entity. For the purposes of this definition,
  530         -
      "control" means (i) the power, direct or indirect, to cause the
  531         -
      direction or management of such entity, whether by contract or
  532         -
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
  533         -
      outstanding shares, or (iii) beneficial ownership of such entity.
  534         -
  535         -
      "You" (or "Your") shall mean an individual or Legal Entity
  536         -
      exercising permissions granted by this License.
  537         -
  538         -
      "Source" form shall mean the preferred form for making modifications,
  539         -
      including but not limited to software source code, documentation
  540         -
      source, and configuration files.
  541         -
  542         -
      "Object" form shall mean any form resulting from mechanical
  543         -
      transformation or translation of a Source form, including but
  544         -
      not limited to compiled object code, generated documentation,
  545         -
      and conversions to other media types.
  546         -
  547         -
      "Work" shall mean the work of authorship, whether in Source or
  548         -
      Object form, made available under the License, as indicated by a
  549         -
      copyright notice that is included in or attached to the work
  550         -
      (an example is provided in the Appendix below).
  551         -
  552         -
      "Derivative Works" shall mean any work, whether in Source or Object
  553         -
      form, that is based on (or derived from) the Work and for which the
  554         -
      editorial revisions, annotations, elaborations, or other modifications
  555         -
      represent, as a whole, an original work of authorship. For the purposes
  556         -
      of this License, Derivative Works shall not include works that remain
  557         -
      separable from, or merely link (or bind by name) to the interfaces of,
  558         -
      the Work and Derivative Works thereof.
  559         -
  560         -
      "Contribution" shall mean any work of authorship, including
  561         -
      the original version of the Work and any modifications or additions
  562         -
      to that Work or Derivative Works thereof, that is intentionally
  563         -
      submitted to Licensor for inclusion in the Work by the copyright owner
  564         -
      or by an individual or Legal Entity authorized to submit on behalf of
  565         -
      the copyright owner. For the purposes of this definition, "submitted"
  566         -
      means any form of electronic, verbal, or written communication sent
  567         -
      to the Licensor or its representatives, including but not limited to
  568         -
      communication on electronic mailing lists, source code control systems,
  569         -
      and issue tracking systems that are managed by, or on behalf of, the
  570         -
      Licensor for the purpose of discussing and improving the Work, but
  571         -
      excluding communication that is conspicuously marked or otherwise
  572         -
      designated in writing by the copyright owner as "Not a Contribution."
  573         -
  574         -
      "Contributor" shall mean Licensor and any individual or Legal Entity
  575         -
      on behalf of whom a Contribution has been received by Licensor and
  576         -
      subsequently incorporated within the Work.
  577         -
  578         -
   2. Grant of Copyright License. Subject to the terms and conditions of
  579         -
      this License, each Contributor hereby grants to You a perpetual,
  580         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  581         -
      copyright license to reproduce, prepare Derivative Works of,
  582         -
      publicly display, publicly perform, sublicense, and distribute the
  583         -
      Work and such Derivative Works in Source or Object form.
  584         -
  585         -
   3. Grant of Patent License. Subject to the terms and conditions of
  586         -
      this License, each Contributor hereby grants to You a perpetual,
  587         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  588         -
      (except as stated in this section) patent license to make, have made,
  589         -
      use, offer to sell, sell, import, and otherwise transfer the Work,
  590         -
      where such license applies only to those patent claims licensable
  591         -
      by such Contributor that are necessarily infringed by their
  592         -
      Contribution(s) alone or by combination of their Contribution(s)
  593         -
      with the Work to which such Contribution(s) was submitted. If You
  594         -
      institute patent litigation against any entity (including a
  595         -
      cross-claim or counterclaim in a lawsuit) alleging that the Work
  596         -
      or a Contribution incorporated within the Work constitutes direct
  597         -
      or contributory patent infringement, then any patent licenses
  598         -
      granted to You under this License for that Work shall terminate
  599         -
      as of the date such litigation is filed.
  600         -
  601         -
   4. Redistribution. You may reproduce and distribute copies of the
  602         -
      Work or Derivative Works thereof in any medium, with or without
  603         -
      modifications, and in Source or Object form, provided that You
  604         -
      meet the following conditions:
  605         -
  606         -
      (a) You must give any other recipients of the Work or
  607         -
          Derivative Works a copy of this License; and
  608         -
  609         -
      (b) You must cause any modified files to carry prominent notices
  610         -
          stating that You changed the files; and
  611         -
  612         -
      (c) You must retain, in the Source form of any Derivative Works
  613         -
          that You distribute, all copyright, patent, trademark, and
  614         -
          attribution notices from the Source form of the Work,
  615         -
          excluding those notices that do not pertain to any part of
  616         -
          the Derivative Works; and
  617         -
  618         -
      (d) If the Work includes a "NOTICE" text file as part of its
  619         -
          distribution, then any Derivative Works that You distribute must
  620         -
          include a readable copy of the attribution notices contained
  621         -
          within such NOTICE file, excluding those notices that do not
  622         -
          pertain to any part of the Derivative Works, in at least one
  623         -
          of the following places: within a NOTICE text file distributed
  624         -
          as part of the Derivative Works; within the Source form or
  625         -
          documentation, if provided along with the Derivative Works; or,
  626         -
          within a display generated by the Derivative Works, if and
  627         -
          wherever such third-party notices normally appear. The contents
  628         -
          of the NOTICE file are for informational purposes only and
  629         -
          do not modify the License. You may add Your own attribution
  630         -
          notices within Derivative Works that You distribute, alongside
  631         -
          or as an addendum to the NOTICE text from the Work, provided
  632         -
          that such additional attribution notices cannot be construed
  633         -
          as modifying the License.
  634         -
  635         -
      You may add Your own copyright statement to Your modifications and
  636         -
      may provide additional or different license terms and conditions
  637         -
      for use, reproduction, or distribution of Your modifications, or
  638         -
      for any such Derivative Works as a whole, provided Your use,
  639         -
      reproduction, and distribution of the Work otherwise complies with
  640         -
      the conditions stated in this License.
  641         -
  642         -
   5. Submission of Contributions. Unless You explicitly state otherwise,
  643         -
      any Contribution intentionally submitted for inclusion in the Work
  644         -
      by You to the Licensor shall be under the terms and conditions of
  645         -
      this License, without any additional terms or conditions.
  646         -
      Notwithstanding the above, nothing herein shall supersede or modify
  647         -
      the terms of any separate license agreement you may have executed
  648         -
      with Licensor regarding such Contributions.
  649         -
  650         -
   6. Trademarks. This License does not grant permission to use the trade
  651         -
      names, trademarks, service marks, or product names of the Licensor,
  652         -
      except as required for reasonable and customary use in describing the
  653         -
      origin of the Work and reproducing the content of the NOTICE file.
  654         -
  655         -
   7. Disclaimer of Warranty. Unless required by applicable law or
  656         -
      agreed to in writing, Licensor provides the Work (and each
  657         -
      Contributor provides its Contributions) on an "AS IS" BASIS,
  658         -
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  659         -
      implied, including, without limitation, any warranties or conditions
  660         -
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
  661         -
      PARTICULAR PURPOSE. You are solely responsible for determining the
  662         -
      appropriateness of using or redistributing the Work and assume any
  663         -
      risks associated with Your exercise of permissions under this License.
  664         -
  665         -
   8. Limitation of Liability. In no event and under no legal theory,
  666         -
      whether in tort (including negligence), contract, or otherwise,
  667         -
      unless required by applicable law (such as deliberate and grossly
  668         -
      negligent acts) or agreed to in writing, shall any Contributor be
  669         -
      liable to You for damages, including any direct, indirect, special,
  670         -
      incidental, or consequential damages of any character arising as a
  671         -
      result of this License or out of the use or inability to use the
  672         -
      Work (including but not limited to damages for loss of goodwill,
  673         -
      work stoppage, computer failure or malfunction, or any and all
  674         -
      other commercial damages or losses), even if such Contributor
  675         -
      has been advised of the possibility of such damages.
  676         -
  677         -
   9. Accepting Warranty or Additional Liability. While redistributing
  678         -
      the Work or Derivative Works thereof, You may choose to offer,
  679         -
      and charge a fee for, acceptance of support, warranty, indemnity,
  680         -
      or other liability obligations and/or rights consistent with this
  681         -
      License. However, in accepting such obligations, You may act only
  682         -
      on Your own behalf and on Your sole responsibility, not on behalf
  683         -
      of any other Contributor, and only if You agree to indemnify,
  684         -
      defend, and hold each Contributor harmless for any liability
  685         -
      incurred by, or claims asserted against, such Contributor by reason
  686         -
      of your accepting any such warranty or additional liability.
  687         -
  688         -
   END OF TERMS AND CONDITIONS
  689         -
  690         -
   APPENDIX: How to apply the Apache License to your work.
  691         -
  692         -
      To apply the Apache License to your work, attach the following
  693         -
      boilerplate notice, with the fields enclosed by brackets "[]"
  694         -
      replaced with your own identifying information. (Don't include
  695         -
      the brackets!)  The text should be enclosed in the appropriate
  696         -
      comment syntax for the file format. We also recommend that a
  697         -
      file or class name and description of purpose be included on the
  698         -
      same "printed page" as the copyright notice for easier
  699         -
      identification within third-party archives.
  700         -
  701         -
   Copyright [yyyy] [name of copyright owner]
  702         -
  703         -
   Licensed under the Apache License, Version 2.0 (the "License");
  704         -
   you may not use this file except in compliance with the License.
  705         -
   You may obtain a copy of the License at
  706         -
  707         -
       http://www.apache.org/licenses/LICENSE-2.0
  708         -
  709         -
   Unless required by applicable law or agreed to in writing, software
  710         -
   distributed under the License is distributed on an "AS IS" BASIS,
  711         -
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  712         -
   See the License for the specific language governing permissions and
  713         -
   limitations under the License.
  714    320   
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
  715    321   
deleted file mode 100755
  716    322   
index d85f69e..0000000
  717         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/NOTICE
         323  +
++ /dev/null
  718    324   
@@ -1,2 +0,0 @@
  719         -
AWS Signature Version 4a Test Suite
  720         -
Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
  721    325   
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
  722    326   
deleted file mode 100644
  723    327   
index c716622..0000000
  724         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/README.md
         328  +
++ /dev/null
  725    329   
@@ -1,24 +0,0 @@
  726         -
Where did the files in this directory come from?
  727         -
================================================
  728         -
  729         -
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.
  730         -
  731         -
Signature Version 4A Test Suite
  732         -
------------------------------
  733         -
  734         -
To assist you in the development of an AWS client that supports Signature Version 4A, you can use the
  735         -
files in the test suite to ensure your code is performing each step of the signing process correctly.
  736         -
  737         -
Each test group contains several files that you can use to validate most of the tasks described in
  738         -
Signature Version 4A Signing Process. The following list describes the contents of each file.
  739         -
  740         -
- context.json - Credentials and signer options to use when signing test requests
  741         -
- request.txt - The web request to be signed.
  742         -
- header-canonical-request.txt - The resulting canonical request in header-signature mode.
  743         -
- header-string-to-sign.txt - The resulting string to sign in header-signature mode.
  744         -
- query-canonical-request.txt - The resulting canonical request in query-signature mode.
  745         -
- query-string-to-sign.txt - The resulting string to sign in header-query mode.
  746         -
  747         -
Sigv4A signature generation isn't deterministic, so generated signatures can't be tested against known good ones.
  748         -
Instead, tests generate a signature, derive a verification key from the signing key, and verify the signature and
  749         -
the string to sign. This mirrors what AWS services do when verifying Sigv4A-signed requests.
  750    330   
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
  751    331   
deleted file mode 100644
  752    332   
index 45771c7..0000000
  753         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/context.json
         333  +
++ /dev/null
  754    334   
@@ -1,12 +0,0 @@
  755         -
{
  756         -
    "credentials": {
  757         -
        "access_key_id": "AKIDEXAMPLE",
  758         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  759         -
    },
  760         -
    "expiration_in_seconds": 3600,
  761         -
    "normalize": true,
  762         -
    "region": "us-east-1",
  763         -
    "service": "service",
  764         -
    "sign_body": false,
  765         -
    "timestamp": "2015-08-30T12:36:00Z"
  766         -
}
  767    335   
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
  768    336   
deleted file mode 100644
  769    337   
index 45771c7..0000000
  770         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/context.json
         338  +
++ /dev/null
  771    339   
@@ -1,12 +0,0 @@
  772         -
{
  773         -
    "credentials": {
  774         -
        "access_key_id": "AKIDEXAMPLE",
  775         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  776         -
    },
  777         -
    "expiration_in_seconds": 3600,
  778         -
    "normalize": true,
  779         -
    "region": "us-east-1",
  780         -
    "service": "service",
  781         -
    "sign_body": false,
  782         -
    "timestamp": "2015-08-30T12:36:00Z"
  783         -
}
  784    340   
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
  785    341   
deleted file mode 100644
  786    342   
index 45771c7..0000000
  787         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/context.json
         343  +
++ /dev/null
  788    344   
@@ -1,12 +0,0 @@
  789         -
{
  790         -
    "credentials": {
  791         -
        "access_key_id": "AKIDEXAMPLE",
  792         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  793         -
    },
  794         -
    "expiration_in_seconds": 3600,
  795         -
    "normalize": true,
  796         -
    "region": "us-east-1",
  797         -
    "service": "service",
  798         -
    "sign_body": false,
  799         -
    "timestamp": "2015-08-30T12:36:00Z"
  800         -
}
  801    345   
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
  802    346   
deleted file mode 100644
  803    347   
index 45771c7..0000000
  804         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/context.json
         348  +
++ /dev/null
  805    349   
@@ -1,12 +0,0 @@
  806         -
{
  807         -
    "credentials": {
  808         -
        "access_key_id": "AKIDEXAMPLE",
  809         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  810         -
    },
  811         -
    "expiration_in_seconds": 3600,
  812         -
    "normalize": true,
  813         -
    "region": "us-east-1",
  814         -
    "service": "service",
  815         -
    "sign_body": false,
  816         -
    "timestamp": "2015-08-30T12:36:00Z"
  817         -
}
  818    350   
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
  819    351   
deleted file mode 100644
  820    352   
index afe367b..0000000
  821         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/context.json
         353  +
++ /dev/null
  822    354   
@@ -1,12 +0,0 @@
  823         -
{
  824         -
    "credentials": {
  825         -
        "access_key_id": "AKIDEXAMPLE",
  826         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  827         -
    },
  828         -
    "expiration_in_seconds": 3600,
  829         -
    "normalize": false,
  830         -
    "region": "us-east-1",
  831         -
    "service": "service",
  832         -
    "sign_body": false,
  833         -
    "timestamp": "2015-08-30T12:36:00Z"
  834         -
}
  835    355   
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
  836    356   
deleted file mode 100644
  837    357   
index 45771c7..0000000
  838         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/context.json
         358  +
++ /dev/null
  839    359   
@@ -1,12 +0,0 @@
  840         -
{
  841         -
    "credentials": {
  842         -
        "access_key_id": "AKIDEXAMPLE",
  843         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  844         -
    },
  845         -
    "expiration_in_seconds": 3600,
  846         -
    "normalize": true,
  847         -
    "region": "us-east-1",
  848         -
    "service": "service",
  849         -
    "sign_body": false,
  850         -
    "timestamp": "2015-08-30T12:36:00Z"
  851         -
}
  852    360   
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
  853    361   
deleted file mode 100644
  854    362   
index afe367b..0000000
  855         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/context.json
         363  +
++ /dev/null
  856    364   
@@ -1,12 +0,0 @@
  857         -
{
  858         -
    "credentials": {
  859         -
        "access_key_id": "AKIDEXAMPLE",
  860         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  861         -
    },
  862         -
    "expiration_in_seconds": 3600,
  863         -
    "normalize": false,
  864         -
    "region": "us-east-1",
  865         -
    "service": "service",
  866         -
    "sign_body": false,
  867         -
    "timestamp": "2015-08-30T12:36:00Z"
  868         -
}
  869    365   
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
  870    366   
deleted file mode 100644
  871    367   
index 45771c7..0000000
  872         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/context.json
         368  +
++ /dev/null
  873    369   
@@ -1,12 +0,0 @@
  874         -
{
  875         -
    "credentials": {
  876         -
        "access_key_id": "AKIDEXAMPLE",
  877         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  878         -
    },
  879         -
    "expiration_in_seconds": 3600,
  880         -
    "normalize": true,
  881         -
    "region": "us-east-1",
  882         -
    "service": "service",
  883         -
    "sign_body": false,
  884         -
    "timestamp": "2015-08-30T12:36:00Z"
  885         -
}
  886    370   
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
  887    371   
deleted file mode 100644
  888    372   
index 45771c7..0000000
  889         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/context.json
         373  +
++ /dev/null
  890    374   
@@ -1,12 +0,0 @@
  891         -
{
  892         -
    "credentials": {
  893         -
        "access_key_id": "AKIDEXAMPLE",
  894         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  895         -
    },
  896         -
    "expiration_in_seconds": 3600,
  897         -
    "normalize": true,
  898         -
    "region": "us-east-1",
  899         -
    "service": "service",
  900         -
    "sign_body": false,
  901         -
    "timestamp": "2015-08-30T12:36:00Z"
  902         -
}
  903    375   
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
  904    376   
deleted file mode 100644
  905    377   
index 45771c7..0000000
  906         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/context.json
         378  +
++ /dev/null
  907    379   
@@ -1,12 +0,0 @@
  908         -
{
  909         -
    "credentials": {
  910         -
        "access_key_id": "AKIDEXAMPLE",
  911         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  912         -
    },
  913         -
    "expiration_in_seconds": 3600,
  914         -
    "normalize": true,
  915         -
    "region": "us-east-1",
  916         -
    "service": "service",
  917         -
    "sign_body": false,
  918         -
    "timestamp": "2015-08-30T12:36:00Z"
  919         -
}
  920    380   
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
  921    381   
deleted file mode 100644
  922    382   
index 45771c7..0000000
  923         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/context.json
         383  +
++ /dev/null
  924    384   
@@ -1,12 +0,0 @@
  925         -
{
  926         -
    "credentials": {
  927         -
        "access_key_id": "AKIDEXAMPLE",
  928         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  929         -
    },
  930         -
    "expiration_in_seconds": 3600,
  931         -
    "normalize": true,
  932         -
    "region": "us-east-1",
  933         -
    "service": "service",
  934         -
    "sign_body": false,
  935         -
    "timestamp": "2015-08-30T12:36:00Z"
  936         -
}
  937    385   
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
  938    386   
deleted file mode 100644
  939    387   
index 45771c7..0000000
  940         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/context.json
         388  +
++ /dev/null
  941    389   
@@ -1,12 +0,0 @@
  942         -
{
  943         -
    "credentials": {
  944         -
        "access_key_id": "AKIDEXAMPLE",
  945         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  946         -
    },
  947         -
    "expiration_in_seconds": 3600,
  948         -
    "normalize": true,
  949         -
    "region": "us-east-1",
  950         -
    "service": "service",
  951         -
    "sign_body": false,
  952         -
    "timestamp": "2015-08-30T12:36:00Z"
  953         -
}
  954    390   
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
  955    391   
deleted file mode 100644
  956    392   
index 47e7128..0000000
  957         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-canonical-request.txt
         393  +
++ /dev/null
  958    394   
@@ -1,9 +0,0 @@
  959         -
GET
  960         -
/
  961         -
  962         -
host:example.amazonaws.com
  963         -
x-amz-date:20150830T123600Z
  964         -
x-amz-region-set:us-east-1
  965         -
  966         -
host;x-amz-date;x-amz-region-set
  967         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  968    395   
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
  969    396   
deleted file mode 100644
  970    397   
index 95d7219..0000000
  971         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-string-to-sign.txt
         398  +
++ /dev/null
  972    399   
@@ -1,4 +0,0 @@
  973         -
AWS4-ECDSA-P256-SHA256
  974         -
20150830T123600Z
  975         -
20150830/service/aws4_request
  976         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  977    400   
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
  978    401   
deleted file mode 100644
  979    402   
index a34ea26..0000000
  980         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-canonical-request.txt
         403  +
++ /dev/null
  981    404   
@@ -1,7 +0,0 @@
  982         -
GET
  983         -
/
  984         -
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
  985         -
host:example.amazonaws.com
  986         -
  987         -
host
  988         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  989    405   
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
  990    406   
deleted file mode 100644
  991    407   
index 48f855c..0000000
  992         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-string-to-sign.txt
         408  +
++ /dev/null
  993    409   
@@ -1,4 +0,0 @@
  994         -
AWS4-ECDSA-P256-SHA256
  995         -
20150830T123600Z
  996         -
20150830/service/aws4_request
  997         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  998    410   
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
  999    411   
deleted file mode 100644
 1000    412   
index 45771c7..0000000
 1001         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/context.json
         413  +
++ /dev/null
 1002    414   
@@ -1,12 +0,0 @@
 1003         -
{
 1004         -
    "credentials": {
 1005         -
        "access_key_id": "AKIDEXAMPLE",
 1006         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1007         -
    },
 1008         -
    "expiration_in_seconds": 3600,
 1009         -
    "normalize": true,
 1010         -
    "region": "us-east-1",
 1011         -
    "service": "service",
 1012         -
    "sign_body": false,
 1013         -
    "timestamp": "2015-08-30T12:36:00Z"
 1014         -
}
 1015    415   
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
 1016    416   
deleted file mode 100644
 1017    417   
index 47e7128..0000000
 1018         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-canonical-request.txt
         418  +
++ /dev/null
 1019    419   
@@ -1,9 +0,0 @@
 1020         -
GET
 1021         -
/
 1022         -
 1023         -
host:example.amazonaws.com
 1024         -
x-amz-date:20150830T123600Z
 1025         -
x-amz-region-set:us-east-1
 1026         -
 1027         -
host;x-amz-date;x-amz-region-set
 1028         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
 1029    420   
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
 1030    421   
deleted file mode 100644
 1031    422   
index 95d7219..0000000
 1032         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-string-to-sign.txt
         423  +
++ /dev/null
 1033    424   
@@ -1,4 +0,0 @@
 1034         -
AWS4-ECDSA-P256-SHA256
 1035         -
20150830T123600Z
 1036         -
20150830/service/aws4_request
 1037         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
 1038    425   
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
 1039    426   
deleted file mode 100644
 1040    427   
index a34ea26..0000000
 1041         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-canonical-request.txt
         428  +
++ /dev/null
 1042    429   
@@ -1,7 +0,0 @@
 1043         -
GET
 1044         -
/
 1045         -
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
 1046         -
host:example.amazonaws.com
 1047         -
 1048         -
host
 1049         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
 1050    430   
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
 1051    431   
deleted file mode 100644
 1052    432   
index 48f855c..0000000
 1053         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-string-to-sign.txt
         433  +
++ /dev/null
 1054    434   
@@ -1,4 +0,0 @@
 1055         -
AWS4-ECDSA-P256-SHA256
 1056         -
20150830T123600Z
 1057         -
20150830/service/aws4_request
 1058         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
 1059    435   
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
 1060    436   
deleted file mode 100644
 1061    437   
index 45771c7..0000000
 1062         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/context.json
         438  +
++ /dev/null
 1063    439   
@@ -1,12 +0,0 @@
 1064         -
{
 1065         -
    "credentials": {
 1066         -
        "access_key_id": "AKIDEXAMPLE",
 1067         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1068         -
    },
 1069         -
    "expiration_in_seconds": 3600,
 1070         -
    "normalize": true,
 1071         -
    "region": "us-east-1",
 1072         -
    "service": "service",
 1073         -
    "sign_body": false,
 1074         -
    "timestamp": "2015-08-30T12:36:00Z"
 1075         -
}
 1076    440   
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
 1077    441   
deleted file mode 100644
 1078    442   
index 45771c7..0000000
 1079         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/context.json
         443  +
++ /dev/null
 1080    444   
@@ -1,12 +0,0 @@
 1081         -
{
 1082         -
    "credentials": {
 1083         -
        "access_key_id": "AKIDEXAMPLE",
 1084         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1085         -
    },
 1086         -
    "expiration_in_seconds": 3600,
 1087         -
    "normalize": true,
 1088         -
    "region": "us-east-1",
 1089         -
    "service": "service",
 1090         -
    "sign_body": false,
 1091         -
    "timestamp": "2015-08-30T12:36:00Z"
 1092         -
}
 1093    445   
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
 1094    446   
deleted file mode 100644
 1095    447   
index 45771c7..0000000
 1096         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/context.json
         448  +
++ /dev/null
 1097    449   
@@ -1,12 +0,0 @@
 1098         -
{
 1099         -
    "credentials": {
 1100         -
        "access_key_id": "AKIDEXAMPLE",
 1101         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1102         -
    },
 1103         -
    "expiration_in_seconds": 3600,
 1104         -
    "normalize": true,
 1105         -
    "region": "us-east-1",
 1106         -
    "service": "service",
 1107         -
    "sign_body": false,
 1108         -
    "timestamp": "2015-08-30T12:36:00Z"
 1109         -
}
 1110    450   
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
 1111    451   
deleted file mode 100644
 1112    452   
index 45771c7..0000000
 1113         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/context.json
         453  +
++ /dev/null
 1114    454   
@@ -1,12 +0,0 @@
 1115         -
{
 1116         -
    "credentials": {
 1117         -
        "access_key_id": "AKIDEXAMPLE",
 1118         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1119         -
    },
 1120         -
    "expiration_in_seconds": 3600,
 1121         -
    "normalize": true,
 1122         -
    "region": "us-east-1",
 1123         -
    "service": "service",
 1124         -
    "sign_body": false,
 1125         -
    "timestamp": "2015-08-30T12:36:00Z"
 1126         -
}
 1127    455   
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
 1128    456   
deleted file mode 100644
 1129    457   
index 45771c7..0000000
 1130         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/context.json
         458  +
++ /dev/null
 1131    459   
@@ -1,12 +0,0 @@
 1132         -
{
 1133         -
    "credentials": {
 1134         -
        "access_key_id": "AKIDEXAMPLE",
 1135         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1136         -
    },
 1137         -
    "expiration_in_seconds": 3600,
 1138         -
    "normalize": true,
 1139         -
    "region": "us-east-1",
 1140         -
    "service": "service",
 1141         -
    "sign_body": false,
 1142         -
    "timestamp": "2015-08-30T12:36:00Z"
 1143         -
}
 1144    460   
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
 1145    461   
deleted file mode 100644
 1146    462   
index 45771c7..0000000
 1147         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/context.json
         463  +
++ /dev/null
 1148    464   
@@ -1,12 +0,0 @@
 1149         -
{
 1150         -
    "credentials": {
 1151         -
        "access_key_id": "AKIDEXAMPLE",
 1152         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1153         -
    },
 1154         -
    "expiration_in_seconds": 3600,
 1155         -
    "normalize": true,
 1156         -
    "region": "us-east-1",
 1157         -
    "service": "service",
 1158         -
    "sign_body": false,
 1159         -
    "timestamp": "2015-08-30T12:36:00Z"
 1160         -
}
 1161    465   
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
 1162    466   
deleted file mode 100644
 1163    467   
index b6fdecf..0000000
 1164         -
-- 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
         468  +
++ /dev/null
 1165    469   
@@ -1,4 +0,0 @@
 1166         -
AWS4-ECDSA-P256-SHA256
 1167         -
20150830T123600Z
 1168         -
20150830/service/aws4_request
 1169         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
 1170    470   
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
 1171    471   
deleted file mode 100644
 1172    472   
index a300bea..0000000
 1173         -
-- 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
         473  +
++ /dev/null
 1174    474   
@@ -1,4 +0,0 @@
 1175         -
AWS4-ECDSA-P256-SHA256
 1176         -
20150830T123600Z
 1177         -
20150830/service/aws4_request
 1178         -
ab426c74406d082ad98929df8969624e6ed5cb7f4e8501fbbe7d8c20e9c3b417
 1179    475   
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
 1180    476   
deleted file mode 100644
 1181    477   
index b6fdecf..0000000
 1182         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-string-to-sign.txt
         478  +
++ /dev/null
 1183    479   
@@ -1,4 +0,0 @@
 1184         -
AWS4-ECDSA-P256-SHA256
 1185         -
20150830T123600Z
 1186         -
20150830/service/aws4_request
 1187         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
 1188    480   
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
 1189    481   
new file mode 100644
 1190    482   
index 0000000..a674243
 1191         -
-- /dev/null
         483  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/README.md
 1192    484   
@@ -0,0 +1,7 @@
         485  +
# AWS SigV4 and SigV4A Signing Test Suite
         486  +
         487  +
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).
         488  +
         489  +
We added the following changes:
         490  +
         491  +
* 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
 1193    492   
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
 1194    493   
similarity index 100%
 1195    494   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.creq
 1196    495   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-canonical-request.txt
 1197    496   
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
 1198    497   
similarity index 100%
 1199    498   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.sreq
 1200    499   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-signed-request.txt
 1201    500   
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
 1202    501   
similarity index 100%
 1203    502   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.req
 1204    503   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/request.txt
 1205    504   
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
 1206    505   
similarity index 100%
 1207    506   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.creq
 1208    507   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-canonical-request.txt
 1209    508   
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
 1210    509   
similarity index 100%
 1211    510   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sreq
 1212    511   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-signed-request.txt
 1213    512   
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
 1214    513   
similarity index 100%
 1215    514   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sts
 1216    515   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-string-to-sign.txt
 1217    516   
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
 1218    517   
similarity index 100%
 1219    518   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.req
 1220    519   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/request.txt
 1221    520   
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
 1222    521   
similarity index 99%
 1223    522   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/context.json
 1224    523   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/context.json
 1225    524   
index 45771c7..0468d80 100644
 1226    525   
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
 1227    526   
similarity index 100%
 1228    527   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.creq
 1229    528   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-canonical-request.txt
 1230    529   
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
 1231    530   
new file mode 100644
 1232    531   
index 0000000..7fc5d7a
 1233         -
-- /dev/null
         532  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signature.txt
 1234    533   
@@ -0,0 +1 @@
         534  +
c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
              \
 No newline at end of file
 1235    535   
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
 1236    536   
new file mode 100644
 1237    537   
index 0000000..36a1205
 1238         -
-- /dev/null
         538  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signed-request.txt
 1239    539   
@@ -0,0 +1,8 @@
         540  +
GET / HTTP/1.1
         541  +
Host:example.amazonaws.com
         542  +
My-Header1:value2
         543  +
My-Header1:value2
         544  +
My-Header1:value1
         545  +
X-Amz-Date:20150830T123600Z
         546  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
         547  +
 1240    548   
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
 1241    549   
similarity index 100%
 1242    550   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sts
 1243    551   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-string-to-sign.txt
 1244    552   
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
 1245    553   
new file mode 100644
 1246    554   
index 0000000..f9f4190
 1247         -
-- /dev/null
         555  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-canonical-request.txt
 1248    556   
@@ -0,0 +1,8 @@
         557  +
GET
         558  +
/
         559  +
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
         560  +
host:example.amazonaws.com
         561  +
my-header1:value2,value2,value1
         562  +
         563  +
host;my-header1
         564  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1249    565   
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
 1250    566   
new file mode 100644
 1251    567   
index 0000000..5d0d87f
 1252         -
-- /dev/null
         568  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signature.txt
 1253    569   
@@ -0,0 +1 @@
         570  +
3349ee0b81b4b589da0ff28a395c3591e04de515651dd74f298fa992d1507a97
              \
 No newline at end of file
 1254    571   
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
 1255    572   
new file mode 100644
 1256    573   
index 0000000..c1dfcf4
 1257         -
-- /dev/null
         574  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signed-request.txt
 1258    575   
@@ -0,0 +1,6 @@
         576  +
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
         577  +
Host:example.amazonaws.com
         578  +
My-Header1:value2
         579  +
My-Header1:value2
         580  +
My-Header1:value1
         581  +
 1259    582   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
 1260    583   
similarity index 53%
 1261    584   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
 1262    585   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
 1263    586   
index 0a3350a..077c1bb 100644
 1264         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
         587  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
 1265    588   
@@ -1,4 +1,4 @@
 1266    589   
AWS4-HMAC-SHA256
 1267    590   
20150830T123600Z
 1268    591   
20150830/us-east-1/service/aws4_request
 1269         -
b7b6cbfd8a0430b78891e986784da2630c8a135a8595cec25b26ea94f926ee55
              \
 No newline at end of file
         592  +
fe8b58fb44117d598520befc07c144a5699c661a8db78f9ce4caee1655dec813
              \
 No newline at end of file
 1270    593   
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
 1271    594   
similarity index 100%
 1272    595   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/request.txt
 1273    596   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/request.txt
 1274    597   
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
 1275    598   
similarity index 99%
 1276    599   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/context.json
 1277    600   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/context.json
 1278    601   
index 45771c7..0468d80 100644
 1279    602   
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
 1280    603   
similarity index 82%
 1281    604   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
 1282    605   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1283    606   
index 721a39f..8cb5476 100644
 1284         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
         607  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1285    608   
@@ -1,9 +1,9 @@
 1286    609   
GET
 1287    610   
/
 1288    611   
 1289    612   
host:example.amazonaws.com
 1290         -
my-header1:value1,value2,value3
         613  +
my-header1:value1 value2 value3
 1291    614   
x-amz-date:20150830T123600Z
 1292    615   
 1293    616   
host;my-header1;x-amz-date
 1294    617   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1295    618   
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
 1296    619   
new file mode 100644
 1297    620   
index 0000000..e6ff7a9
 1298         -
-- /dev/null
         621  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signature.txt
 1299    622   
@@ -0,0 +1 @@
         623  +
cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
              \
 No newline at end of file
 1300    624   
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
 1301    625   
new file mode 100644
 1302    626   
index 0000000..b5ef6a0
 1303         -
-- /dev/null
         627  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signed-request.txt
 1304    628   
@@ -0,0 +1,8 @@
         629  +
GET / HTTP/1.1
         630  +
Host:example.amazonaws.com
         631  +
My-Header1:value1
         632  +
  value2
         633  +
     value3
         634  +
X-Amz-Date:20150830T123600Z
         635  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
         636  +
 1305    637   
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
 1306    638   
similarity index 53%
 1307    639   
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
 1308    640   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1309    641   
index fd43a41..97c7430 100644
 1310         -
-- 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
         642  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1311    643   
@@ -1,4 +1,4 @@
 1312    644   
AWS4-HMAC-SHA256
 1313    645   
20150830T123600Z
 1314    646   
20150830/us-east-1/service/aws4_request
 1315         -
704b4cef673542d84cdff252633f065e8daeba5f168b77116f8b1bcaf3d38f89
              \
 No newline at end of file
         647  +
e99419459a677bc11de234014be3c4e72c1ea5b454ceb58b613061f5d7a162e8
              \
 No newline at end of file
 1316    648   
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
 1317    649   
new file mode 100644
 1318    650   
index 0000000..aac46de
 1319         -
-- /dev/null
         651  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-canonical-request.txt
 1320    652   
@@ -0,0 +1,8 @@
         653  +
GET
         654  +
/
         655  +
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
         656  +
host:example.amazonaws.com
         657  +
my-header1:value1 value2 value3
         658  +
         659  +
host;my-header1
         660  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1321    661   
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
 1322    662   
new file mode 100644
 1323    663   
index 0000000..205732d
 1324         -
-- /dev/null
         664  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signature.txt
 1325    665   
@@ -0,0 +1 @@
         666  +
e6f5def831211aca02987a44b96826706278c7bc078112ae0263659c5b2f2d56
              \
 No newline at end of file
 1326    667   
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
 1327    668   
new file mode 100644
 1328    669   
index 0000000..a891b87
 1329         -
-- /dev/null
         670  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signed-request.txt
 1330    671   
@@ -0,0 +1,6 @@
         672  +
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
         673  +
Host:example.amazonaws.com
         674  +
My-Header1:value1
         675  +
  value2
         676  +
     value3
         677  +
 1331    678   
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
 1332    679   
similarity index 53%
 1333    680   
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
 1334    681   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1335    682   
index 90e66b8..ec3fe45 100644
 1336         -
-- 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
         683  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1337    684   
@@ -1,4 +1,4 @@
 1338    685   
AWS4-HMAC-SHA256
 1339    686   
20150830T123600Z
 1340    687   
20150830/us-east-1/service/aws4_request
 1341         -
c968629d70850097a2d8781c9bf7edcb988b04cac14cca9be4acc3595f884606
              \
 No newline at end of file
         688  +
0e73c10e35324b4d215da4bb70be61d13a3d30d569be4ed6e8fd8948965341ca
              \
 No newline at end of file
 1342    689   
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
 1343    690   
similarity index 75%
 1344    691   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
 1345    692   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1346    693   
index 7caa6ac..b5026cd 100644
 1347         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
         694  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1348    695   
@@ -1,6 +1,5 @@
 1349    696   
GET / HTTP/1.1
 1350    697   
Host:example.amazonaws.com
 1351    698   
My-Header1:value1
 1352    699   
  value2
 1353    700   
     value3
 1354         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1355    701   
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
 1356    702   
similarity index 99%
 1357    703   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/context.json
 1358    704   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/context.json
 1359    705   
index 45771c7..0468d80 100644
 1360    706   
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
 1361    707   
similarity index 100%
 1362    708   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.creq
 1363    709   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-canonical-request.txt
 1364    710   
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
 1365    711   
new file mode 100644
 1366    712   
index 0000000..8ef0494
 1367         -
-- /dev/null
         713  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signature.txt
 1368    714   
@@ -0,0 +1 @@
         715  +
08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
              \
 No newline at end of file
 1369    716   
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
 1370    717   
new file mode 100644
 1371    718   
index 0000000..b786dc9
 1372         -
-- /dev/null
         719  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signed-request.txt
 1373    720   
@@ -0,0 +1,9 @@
         721  +
GET / HTTP/1.1
         722  +
Host:example.amazonaws.com
         723  +
My-Header1:value4
         724  +
My-Header1:value1
         725  +
My-Header1:value3
         726  +
My-Header1:value2
         727  +
X-Amz-Date:20150830T123600Z
         728  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
         729  +
 1374    730   
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
 1375    731   
similarity index 100%
 1376    732   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sts
 1377    733   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-string-to-sign.txt
 1378    734   
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
 1379    735   
new file mode 100644
 1380    736   
index 0000000..a211cc5
 1381         -
-- /dev/null
         737  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-canonical-request.txt
 1382    738   
@@ -0,0 +1,8 @@
         739  +
GET
         740  +
/
         741  +
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
         742  +
host:example.amazonaws.com
         743  +
my-header1:value4,value1,value3,value2
         744  +
         745  +
host;my-header1
         746  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1383    747   
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
 1384    748   
new file mode 100644
 1385    749   
index 0000000..417b0fa
 1386         -
-- /dev/null
         750  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signature.txt
 1387    751   
@@ -0,0 +1 @@
         752  +
313720e71ca6202fdcfa9b20f88de01a4eb0638a83c833b1c184359a4eda864e
              \
 No newline at end of file
 1388    753   
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
 1389    754   
new file mode 100644
 1390    755   
index 0000000..b615e5d
 1391         -
-- /dev/null
         756  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signed-request.txt
 1392    757   
@@ -0,0 +1,7 @@
         758  +
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
         759  +
Host:example.amazonaws.com
         760  +
My-Header1:value4
         761  +
My-Header1:value1
         762  +
My-Header1:value3
         763  +
My-Header1:value2
         764  +
 1393    765   
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
 1394    766   
similarity index 53%
 1395    767   
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
 1396    768   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1397    769   
index f7e615e..dcaaa1b 100644
 1398         -
-- 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
         770  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1399    771   
@@ -1,4 +1,4 @@
 1400    772   
AWS4-HMAC-SHA256
 1401    773   
20150830T123600Z
 1402    774   
20150830/us-east-1/service/aws4_request
 1403         -
5a4a15e664c6705d500b13808c1c0e2e83f6a4748f1110a980051440f5a0d9f9
              \
 No newline at end of file
         775  +
f4d3f13084ba7664111670ce26458291d3e0c620acd9384f8cd6b60d8e83423e
              \
 No newline at end of file
 1404    776   
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
 1405    777   
similarity index 100%
 1406    778   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/request.txt
 1407    779   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/request.txt
 1408    780   
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
 1409    781   
similarity index 99%
 1410    782   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/context.json
 1411    783   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/context.json
 1412    784   
index 45771c7..0468d80 100644
 1413    785   
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
 1414    786   
similarity index 100%
 1415    787   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.creq
 1416    788   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-canonical-request.txt
 1417    789   
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
 1418    790   
new file mode 100644
 1419    791   
index 0000000..36081a9
 1420         -
-- /dev/null
         792  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signature.txt
 1421    793   
@@ -0,0 +1 @@
         794  +
acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
              \
 No newline at end of file
 1422    795   
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
 1423    796   
new file mode 100644
 1424    797   
index 0000000..6331d16
 1425         -
-- /dev/null
         798  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signed-request.txt
 1426    799   
@@ -0,0 +1,7 @@
         800  +
GET / HTTP/1.1
         801  +
Host:example.amazonaws.com
         802  +
My-Header1: value1
         803  +
My-Header2: "a   b   c"
         804  +
X-Amz-Date:20150830T123600Z
         805  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date, Signature=acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
         806  +
 1427    807   
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
 1428    808   
similarity index 100%
 1429    809   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sts
 1430    810   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-string-to-sign.txt
 1431    811   
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
 1432    812   
new file mode 100644
 1433    813   
index 0000000..125c1f9
 1434         -
-- /dev/null
         814  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-canonical-request.txt
 1435    815   
@@ -0,0 +1,9 @@
         816  +
GET
         817  +
/
         818  +
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
         819  +
host:example.amazonaws.com
         820  +
my-header1:value1
         821  +
my-header2:"a b c"
         822  +
         823  +
host;my-header1;my-header2
         824  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1436    825   
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
 1437    826   
new file mode 100644
 1438    827   
index 0000000..17007a8
 1439         -
-- /dev/null
         828  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signature.txt
 1440    829   
@@ -0,0 +1 @@
         830  +
e7bb0fd515e125e1aec2ecc4c0c17484fb06f6846b927c35e46005dd3df3acd4
              \
 No newline at end of file
 1441    831   
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
 1442    832   
new file mode 100644
 1443    833   
index 0000000..e519fd9
 1444         -
-- /dev/null
         834  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signed-request.txt
 1445    835   
@@ -0,0 +1,5 @@
         836  +
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
         837  +
Host:example.amazonaws.com
         838  +
My-Header1: value1
         839  +
My-Header2: "a   b   c"
         840  +
 1446    841   
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
 1447    842   
new file mode 100644
 1448    843   
index 0000000..6b4b781
 1449         -
-- /dev/null
         844  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-string-to-sign.txt
 1450    845   
@@ -0,0 +1,4 @@
         846  +
AWS4-HMAC-SHA256
         847  +
20150830T123600Z
         848  +
20150830/us-east-1/service/aws4_request
         849  +
84c9e353b6161b689210977f93b93e6a7182f9ecb2ceae8af8c3d86b080a88ae
              \
 No newline at end of file
 1451    850   
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
 1452    851   
similarity index 100%
 1453    852   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/request.txt
 1454    853   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/request.txt
 1455    854   
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
 1456    855   
new file mode 100644
 1457    856   
index 0000000..0468d80
 1458         -
-- /dev/null
         857  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/context.json
 1459    858   
@@ -0,0 +1,12 @@
         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  +
}
              \
 No newline at end of file
 1460    871   
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
 1461    872   
similarity index 100%
 1462    873   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.creq
 1463    874   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-canonical-request.txt
 1464    875   
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
 1465    876   
new file mode 100644
 1466    877   
index 0000000..87f295f
 1467         -
-- /dev/null
         878  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signature.txt
 1468    879   
@@ -0,0 +1 @@
         880  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1469    881   
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
 1470    882   
new file mode 100644
 1471    883   
index 0000000..0de8327
 1472         -
-- /dev/null
         884  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signed-request.txt
 1473    885   
@@ -0,0 +1,5 @@
         886  +
GET /example/.. HTTP/1.1
         887  +
Host:example.amazonaws.com
         888  +
X-Amz-Date:20150830T123600Z
         889  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         890  +
 1474    891   
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
 1475    892   
similarity index 100%
 1476    893   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sts
 1477    894   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-string-to-sign.txt
 1478    895   
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
 1479    896   
new file mode 100644
 1480    897   
index 0000000..fb2420d
 1481         -
-- /dev/null
         898  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-canonical-request.txt
 1482    899   
@@ -0,0 +1,7 @@
         900  +
GET
         901  +
/
         902  +
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
         903  +
host:example.amazonaws.com
         904  +
         905  +
host
         906  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1483    907   
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
 1484    908   
new file mode 100644
 1485    909   
index 0000000..da5c905
 1486         -
-- /dev/null
         910  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signature.txt
 1487    911   
@@ -0,0 +1 @@
         912  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1488    913   
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
 1489    914   
new file mode 100644
 1490    915   
index 0000000..4329c98
 1491         -
-- /dev/null
         916  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signed-request.txt
 1492    917   
@@ -0,0 +1,3 @@
         918  +
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
         919  +
Host:example.amazonaws.com
         920  +
 1493    921   
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
 1494    922   
new file mode 100644
 1495    923   
index 0000000..d837e67
 1496         -
-- /dev/null
         924  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-string-to-sign.txt
 1497    925   
@@ -0,0 +1,4 @@
         926  +
AWS4-HMAC-SHA256
         927  +
20150830T123600Z
         928  +
20150830/us-east-1/service/aws4_request
         929  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1498    930   
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
 1499    931   
similarity index 100%
 1500    932   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/request.txt
 1501    933   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/request.txt
 1502    934   
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
 1503    935   
new file mode 100644
 1504    936   
index 0000000..0468d80
 1505         -
-- /dev/null
         937  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/context.json
 1506    938   
@@ -0,0 +1,12 @@
         939  +
{
         940  +
    "credentials": {
         941  +
        "access_key_id": "AKIDEXAMPLE",
         942  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         943  +
    },
         944  +
    "expiration_in_seconds": 3600,
         945  +
    "normalize": true,
         946  +
    "region": "us-east-1",
         947  +
    "service": "service",
         948  +
    "sign_body": false,
         949  +
    "timestamp": "2015-08-30T12:36:00Z"
         950  +
}
              \
 No newline at end of file
 1507    951   
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
 1508    952   
similarity index 100%
 1509    953   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.creq
 1510    954   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-canonical-request.txt
 1511    955   
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
 1512    956   
new file mode 100644
 1513    957   
index 0000000..87f295f
 1514         -
-- /dev/null
         958  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signature.txt
 1515    959   
@@ -0,0 +1 @@
         960  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1516    961   
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
 1517    962   
new file mode 100644
 1518    963   
index 0000000..f9b3815
 1519         -
-- /dev/null
         964  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signed-request.txt
 1520    965   
@@ -0,0 +1,5 @@
         966  +
GET /example1/example2/../.. HTTP/1.1
         967  +
Host:example.amazonaws.com
         968  +
X-Amz-Date:20150830T123600Z
         969  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         970  +
 1521    971   
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
 1522    972   
similarity index 100%
 1523    973   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sts
 1524    974   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-string-to-sign.txt
 1525    975   
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
 1526    976   
new file mode 100644
 1527    977   
index 0000000..fb2420d
 1528         -
-- /dev/null
         978  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-canonical-request.txt
 1529    979   
@@ -0,0 +1,7 @@
         980  +
GET
         981  +
/
         982  +
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
         983  +
host:example.amazonaws.com
         984  +
         985  +
host
         986  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1530    987   
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
 1531    988   
new file mode 100644
 1532    989   
index 0000000..da5c905
 1533         -
-- /dev/null
         990  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signature.txt
 1534    991   
@@ -0,0 +1 @@
         992  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1535    993   
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
 1536    994   
new file mode 100644
 1537    995   
index 0000000..b2988b7
 1538         -
-- /dev/null
         996  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signed-request.txt
 1539    997   
@@ -0,0 +1,3 @@
         998  +
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
         999  +
Host:example.amazonaws.com
        1000  +
 1540   1001   
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
 1541   1002   
new file mode 100644
 1542   1003   
index 0000000..d837e67
 1543         -
-- /dev/null
        1004  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-string-to-sign.txt
 1544   1005   
@@ -0,0 +1,4 @@
        1006  +
AWS4-HMAC-SHA256
        1007  +
20150830T123600Z
        1008  +
20150830/us-east-1/service/aws4_request
        1009  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1545   1010   
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
 1546   1011   
similarity index 100%
 1547   1012   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/request.txt
 1548   1013   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/request.txt
 1549   1014   
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
 1550   1015   
similarity index 99%
 1551   1016   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/context.json
 1552   1017   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/context.json
 1553   1018   
index afe367b..7bee5c7 100644
 1554   1019   
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
 1555   1020   
similarity index 82%
 1556   1021   
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
 1557   1022   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1558   1023   
index 36c3cdf..6919c44 100644
 1559         -
-- 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
        1024  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1560   1025   
@@ -1,8 +1,8 @@
 1561   1026   
GET
 1562         -
/
 1563         -
Param1=Value1&Param1=value2
        1027  +
/example1/example2/../..
        1028  +
 1564   1029   
host:example.amazonaws.com
 1565   1030   
x-amz-date:20150830T123600Z
 1566   1031   
 1567   1032   
host;x-amz-date
 1568   1033   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1569   1034   
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
 1570   1035   
new file mode 100644
 1571   1036   
index 0000000..4092d83
 1572         -
-- /dev/null
        1037  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signature.txt
 1573   1038   
@@ -0,0 +1 @@
        1039  +
dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
              \
 No newline at end of file
 1574   1040   
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
 1575   1041   
new file mode 100644
 1576   1042   
index 0000000..e731b35
 1577         -
-- /dev/null
        1043  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signed-request.txt
 1578   1044   
@@ -0,0 +1,5 @@
        1045  +
GET /example1/example2/../.. HTTP/1.1
        1046  +
Host:example.amazonaws.com
        1047  +
X-Amz-Date:20150830T123600Z
        1048  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
        1049  +
 1579   1050   
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
 1580   1051   
new file mode 100644
 1581   1052   
index 0000000..4f45752
 1582         -
-- /dev/null
        1053  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-string-to-sign.txt
 1583   1054   
@@ -0,0 +1,4 @@
        1055  +
AWS4-HMAC-SHA256
        1056  +
20150830T123600Z
        1057  +
20150830/us-east-1/service/aws4_request
        1058  +
76115030c0f3ff06c20fdff5ceb6d5e0b835a1743e00b94fea7c7f381269437b
              \
 No newline at end of file
 1584   1059   
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
 1585   1060   
new file mode 100644
 1586   1061   
index 0000000..e1fb07d
 1587         -
-- /dev/null
        1062  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-canonical-request.txt
 1588   1063   
@@ -0,0 +1,7 @@
        1064  +
GET
        1065  +
/example1/example2/../..
        1066  +
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
        1067  +
host:example.amazonaws.com
        1068  +
        1069  +
host
        1070  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1589   1071   
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
 1590   1072   
new file mode 100644
 1591   1073   
index 0000000..8ac31d7
 1592         -
-- /dev/null
        1074  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signature.txt
 1593   1075   
@@ -0,0 +1 @@
        1076  +
b45db0bfd1cf15003493b733e33aa208dd981bd0e63037a6ed953f71d2118a16
              \
 No newline at end of file
 1594   1077   
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
 1595   1078   
new file mode 100644
 1596   1079   
index 0000000..ac074f9
 1597         -
-- /dev/null
        1080  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signed-request.txt
 1598   1081   
@@ -0,0 +1,3 @@
        1082  +
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
        1083  +
Host:example.amazonaws.com
        1084  +
 1599   1085   
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
 1600   1086   
new file mode 100644
 1601   1087   
index 0000000..8dcb6ff
 1602         -
-- /dev/null
        1088  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-string-to-sign.txt
 1603   1089   
@@ -0,0 +1,4 @@
        1090  +
AWS4-HMAC-SHA256
        1091  +
20150830T123600Z
        1092  +
20150830/us-east-1/service/aws4_request
        1093  +
13b7758115ec070fe36a7ae9d754154ad73f6ee9a5eac022494857d0e7effc18
              \
 No newline at end of file
 1604   1094   
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
 1605   1095   
similarity index 100%
 1606   1096   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/request.txt
 1607   1097   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/request.txt
 1608   1098   
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
 1609   1099   
similarity index 99%
 1610   1100   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/context.json
 1611   1101   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/context.json
 1612   1102   
index afe367b..7bee5c7 100644
 1613   1103   
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
 1614   1104   
similarity index 82%
 1615   1105   
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
 1616   1106   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1617   1107   
index 26898eb..f640bc2 100644
 1618         -
-- 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
        1108  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1619   1109   
@@ -1,8 +1,8 @@
 1620   1110   
GET
 1621         -
/
 1622         -
Param1=value1&Param1=value2
        1111  +
/example/..
        1112  +
 1623   1113   
host:example.amazonaws.com
 1624   1114   
x-amz-date:20150830T123600Z
 1625   1115   
 1626   1116   
host;x-amz-date
 1627   1117   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1628   1118   
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
 1629   1119   
new file mode 100644
 1630   1120   
index 0000000..d957303
 1631         -
-- /dev/null
        1121  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signature.txt
 1632   1122   
@@ -0,0 +1 @@
        1123  +
eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
              \
 No newline at end of file
 1633   1124   
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
 1634   1125   
new file mode 100644
 1635   1126   
index 0000000..4f42ffc
 1636         -
-- /dev/null
        1127  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signed-request.txt
 1637   1128   
@@ -0,0 +1,5 @@
        1129  +
GET /example/.. HTTP/1.1
        1130  +
Host:example.amazonaws.com
        1131  +
X-Amz-Date:20150830T123600Z
        1132  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
        1133  +
 1638   1134   
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
 1639   1135   
new file mode 100644
 1640   1136   
index 0000000..ca54bda
 1641         -
-- /dev/null
        1137  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-string-to-sign.txt
 1642   1138   
@@ -0,0 +1,4 @@
        1139  +
AWS4-HMAC-SHA256
        1140  +
20150830T123600Z
        1141  +
20150830/us-east-1/service/aws4_request
        1142  +
0511f456aa502b456d135fcb9d749374a55228f9dbeedda1eacf659e05b0615b
              \
 No newline at end of file
 1643   1143   
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
 1644   1144   
new file mode 100644
 1645   1145   
index 0000000..dc80036
 1646         -
-- /dev/null
        1146  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-canonical-request.txt
 1647   1147   
@@ -0,0 +1,7 @@
        1148  +
GET
        1149  +
/example/..
        1150  +
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
        1151  +
host:example.amazonaws.com
        1152  +
        1153  +
host
        1154  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1648   1155   
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
 1649   1156   
new file mode 100644
 1650   1157   
index 0000000..dfa0437
 1651         -
-- /dev/null
        1158  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signature.txt
 1652   1159   
@@ -0,0 +1 @@
        1160  +
cbcb213b928a077e43275df47b500f1dfaa864ab3f5a18f6b95f4ff0938167ee
              \
 No newline at end of file
 1653   1161   
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
 1654   1162   
new file mode 100644
 1655   1163   
index 0000000..98367b1
 1656         -
-- /dev/null
        1164  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signed-request.txt
 1657   1165   
@@ -0,0 +1,3 @@
        1166  +
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
        1167  +
Host:example.amazonaws.com
        1168  +
 1658   1169   
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
 1659   1170   
new file mode 100644
 1660   1171   
index 0000000..f65dd66
 1661         -
-- /dev/null
        1172  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-string-to-sign.txt
 1662   1173   
@@ -0,0 +1,4 @@
        1174  +
AWS4-HMAC-SHA256
        1175  +
20150830T123600Z
        1176  +
20150830/us-east-1/service/aws4_request
        1177  +
6e02e2dba21d6f269bae339b86ff27a4b7bbc9d88c482abccbfbf8a49d602482
              \
 No newline at end of file
 1663   1178   
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
 1664   1179   
similarity index 100%
 1665   1180   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/request.txt
 1666   1181   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/request.txt
 1667   1182   
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
 1668   1183   
new file mode 100644
 1669   1184   
index 0000000..0468d80
 1670         -
-- /dev/null
        1185  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/context.json
 1671   1186   
@@ -0,0 +1,12 @@
        1187  +
{
        1188  +
    "credentials": {
        1189  +
        "access_key_id": "AKIDEXAMPLE",
        1190  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1191  +
    },
        1192  +
    "expiration_in_seconds": 3600,
        1193  +
    "normalize": true,
        1194  +
    "region": "us-east-1",
        1195  +
    "service": "service",
        1196  +
    "sign_body": false,
        1197  +
    "timestamp": "2015-08-30T12:36:00Z"
        1198  +
}
              \
 No newline at end of file
 1672   1199   
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
 1673   1200   
similarity index 100%
 1674   1201   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.creq
 1675   1202   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-canonical-request.txt
 1676   1203   
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
 1677   1204   
new file mode 100644
 1678   1205   
index 0000000..87f295f
 1679         -
-- /dev/null
        1206  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signature.txt
 1680   1207   
@@ -0,0 +1 @@
        1208  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1681   1209   
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
 1682   1210   
new file mode 100644
 1683   1211   
index 0000000..99c8eeb
 1684         -
-- /dev/null
        1212  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signed-request.txt
 1685   1213   
@@ -0,0 +1,5 @@
        1214  +
GET /./ HTTP/1.1
        1215  +
Host:example.amazonaws.com
        1216  +
X-Amz-Date:20150830T123600Z
        1217  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1218  +
 1686   1219   
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
 1687   1220   
similarity index 100%
 1688   1221   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sts
 1689   1222   
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
 1690   1223   
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
 1691   1224   
new file mode 100644
 1692   1225   
index 0000000..fb2420d
 1693         -
-- /dev/null
        1226  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-canonical-request.txt
 1694   1227   
@@ -0,0 +1,7 @@
        1228  +
GET
        1229  +
/
        1230  +
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
        1231  +
host:example.amazonaws.com
        1232  +
        1233  +
host
        1234  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1695   1235   
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
 1696   1236   
new file mode 100644
 1697   1237   
index 0000000..da5c905
 1698         -
-- /dev/null
        1238  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signature.txt
 1699   1239   
@@ -0,0 +1 @@
        1240  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1700   1241   
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
 1701   1242   
new file mode 100644
 1702   1243   
index 0000000..2e47f69
 1703         -
-- /dev/null
        1244  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signed-request.txt
 1704   1245   
@@ -0,0 +1,3 @@
        1246  +
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
        1247  +
Host:example.amazonaws.com
        1248  +
 1705   1249   
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
 1706   1250   
new file mode 100644
 1707   1251   
index 0000000..d837e67
 1708         -
-- /dev/null
        1252  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-string-to-sign.txt
 1709   1253   
@@ -0,0 +1,4 @@
        1254  +
AWS4-HMAC-SHA256
        1255  +
20150830T123600Z
        1256  +
20150830/us-east-1/service/aws4_request
        1257  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1710   1258   
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
 1711   1259   
similarity index 100%
 1712   1260   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/request.txt
 1713   1261   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/request.txt
 1714   1262   
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
 1715   1263   
similarity index 99%
 1716   1264   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/context.json
 1717   1265   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/context.json
 1718   1266   
index afe367b..7bee5c7 100644
 1719   1267   
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
 1720   1268   
new file mode 100644
 1721   1269   
index 0000000..5159048
 1722         -
-- /dev/null
        1270  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 1723   1271   
@@ -0,0 +1,8 @@
        1272  +
GET
        1273  +
/./
        1274  +
        1275  +
host:example.amazonaws.com
        1276  +
x-amz-date:20150830T123600Z
        1277  +
        1278  +
host;x-amz-date
        1279  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1724   1280   
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
 1725   1281   
new file mode 100644
 1726   1282   
index 0000000..b49ff0e
 1727         -
-- /dev/null
        1283  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signature.txt
 1728   1284   
@@ -0,0 +1 @@
        1285  +
68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
              \
 No newline at end of file
 1729   1286   
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
 1730   1287   
new file mode 100644
 1731   1288   
index 0000000..aeb1ffa
 1732         -
-- /dev/null
        1289  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signed-request.txt
 1733   1290   
@@ -0,0 +1,5 @@
        1291  +
GET /./ HTTP/1.1
        1292  +
Host:example.amazonaws.com
        1293  +
X-Amz-Date:20150830T123600Z
        1294  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
        1295  +
 1734   1296   
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
 1735   1297   
new file mode 100644
 1736   1298   
index 0000000..b7d8caf
 1737         -
-- /dev/null
        1299  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 1738   1300   
@@ -0,0 +1,4 @@
        1301  +
AWS4-HMAC-SHA256
        1302  +
20150830T123600Z
        1303  +
20150830/us-east-1/service/aws4_request
        1304  +
d67825e2268bd77a97c7688b8d72c31a3c1855b309808505ba0a9747d2465aa7
              \
 No newline at end of file
 1739   1305   
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
 1740   1306   
new file mode 100644
 1741   1307   
index 0000000..d4e029e
 1742         -
-- /dev/null
        1308  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 1743   1309   
@@ -0,0 +1,7 @@
        1310  +
GET
        1311  +
/./
        1312  +
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
        1313  +
host:example.amazonaws.com
        1314  +
        1315  +
host
        1316  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1744   1317   
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
 1745   1318   
new file mode 100644
 1746   1319   
index 0000000..fe8f4cc
 1747         -
-- /dev/null
        1320  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signature.txt
 1748   1321   
@@ -0,0 +1 @@
        1322  +
a9b13e8f3484d9505bf1a6f347219f8f35b0fe8f128ceea597efc146a3dfe90c
              \
 No newline at end of file
 1749   1323   
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
 1750   1324   
new file mode 100644
 1751   1325   
index 0000000..dcc4fc4
 1752         -
-- /dev/null
        1326  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signed-request.txt
 1753   1327   
@@ -0,0 +1,3 @@
        1328  +
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
        1329  +
Host:example.amazonaws.com
        1330  +
 1754   1331   
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
 1755   1332   
new file mode 100644
 1756   1333   
index 0000000..5fb3ada
 1757         -
-- /dev/null
        1334  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 1758   1335   
@@ -0,0 +1,4 @@
        1336  +
AWS4-HMAC-SHA256
        1337  +
20150830T123600Z
        1338  +
20150830/us-east-1/service/aws4_request
        1339  +
21b2da17873f30c1a7410efdc271738b318ccc2c9c6fbe1289fc242aeb1a8ae1
              \
 No newline at end of file
 1759   1340   
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
 1760   1341   
similarity index 100%
 1761   1342   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/request.txt
 1762   1343   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/request.txt
 1763   1344   
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
 1764   1345   
new file mode 100644
 1765   1346   
index 0000000..0468d80
 1766         -
-- /dev/null
        1347  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/context.json
 1767   1348   
@@ -0,0 +1,12 @@
        1349  +
{
        1350  +
    "credentials": {
        1351  +
        "access_key_id": "AKIDEXAMPLE",
        1352  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1353  +
    },
        1354  +
    "expiration_in_seconds": 3600,
        1355  +
    "normalize": true,
        1356  +
    "region": "us-east-1",
        1357  +
    "service": "service",
        1358  +
    "sign_body": false,
        1359  +
    "timestamp": "2015-08-30T12:36:00Z"
        1360  +
}
              \
 No newline at end of file
 1768   1361   
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
 1769   1362   
similarity index 100%
 1770   1363   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.creq
 1771   1364   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-canonical-request.txt
 1772   1365   
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
 1773   1366   
new file mode 100644
 1774   1367   
index 0000000..87f295f
 1775         -
-- /dev/null
        1368  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signature.txt
 1776   1369   
@@ -0,0 +1 @@
        1370  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1777   1371   
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
 1778   1372   
new file mode 100644
 1779   1373   
index 0000000..b91087b
 1780         -
-- /dev/null
        1374  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signed-request.txt
 1781   1375   
@@ -0,0 +1,5 @@
        1376  +
GET // HTTP/1.1
        1377  +
Host:example.amazonaws.com
        1378  +
X-Amz-Date:20150830T123600Z
        1379  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1380  +
 1782   1381   
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
 1783   1382   
similarity index 100%
 1784   1383   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sts
 1785   1384   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-string-to-sign.txt
 1786   1385   
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
 1787   1386   
new file mode 100644
 1788   1387   
index 0000000..fb2420d
 1789         -
-- /dev/null
        1388  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-canonical-request.txt
 1790   1389   
@@ -0,0 +1,7 @@
        1390  +
GET
        1391  +
/
        1392  +
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
        1393  +
host:example.amazonaws.com
        1394  +
        1395  +
host
        1396  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1791   1397   
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
 1792   1398   
new file mode 100644
 1793   1399   
index 0000000..da5c905
 1794         -
-- /dev/null
        1400  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signature.txt
 1795   1401   
@@ -0,0 +1 @@
        1402  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1796   1403   
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
 1797   1404   
new file mode 100644
 1798   1405   
index 0000000..0290ba4
 1799         -
-- /dev/null
        1406  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signed-request.txt
 1800   1407   
@@ -0,0 +1,3 @@
        1408  +
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
        1409  +
Host:example.amazonaws.com
        1410  +
 1801   1411   
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
 1802   1412   
new file mode 100644
 1803   1413   
index 0000000..d837e67
 1804         -
-- /dev/null
        1414  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-string-to-sign.txt
 1805   1415   
@@ -0,0 +1,4 @@
        1416  +
AWS4-HMAC-SHA256
        1417  +
20150830T123600Z
        1418  +
20150830/us-east-1/service/aws4_request
        1419  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1806   1420   
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
 1807   1421   
similarity index 100%
 1808   1422   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/request.txt
 1809   1423   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/request.txt
 1810   1424   
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
 1811   1425   
new file mode 100644
 1812   1426   
index 0000000..0468d80
 1813         -
-- /dev/null
        1427  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/context.json
 1814   1428   
@@ -0,0 +1,12 @@
        1429  +
{
        1430  +
    "credentials": {
        1431  +
        "access_key_id": "AKIDEXAMPLE",
        1432  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1433  +
    },
        1434  +
    "expiration_in_seconds": 3600,
        1435  +
    "normalize": true,
        1436  +
    "region": "us-east-1",
        1437  +
    "service": "service",
        1438  +
    "sign_body": false,
        1439  +
    "timestamp": "2015-08-30T12:36:00Z"
        1440  +
}
              \
 No newline at end of file
 1815   1441   
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
 1816   1442   
similarity index 100%
 1817   1443   
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
 1818   1444   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-canonical-request.txt
 1819   1445   
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
 1820   1446   
new file mode 100644
 1821   1447   
index 0000000..8f892bf
 1822         -
-- /dev/null
        1448  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signature.txt
 1823   1449   
@@ -0,0 +1 @@
        1450  +
ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
              \
 No newline at end of file
 1824   1451   
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
 1825   1452   
new file mode 100644
 1826   1453   
index 0000000..2a1895c
 1827         -
-- /dev/null
        1454  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signed-request.txt
 1828   1455   
@@ -0,0 +1,5 @@
        1456  +
GET /./example HTTP/1.1
        1457  +
Host:example.amazonaws.com
        1458  +
X-Amz-Date:20150830T123600Z
        1459  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
        1460  +
 1829   1461   
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
 1830   1462   
similarity index 100%
 1831   1463   
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
 1832   1464   
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
 1833   1465   
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
 1834   1466   
new file mode 100644
 1835   1467   
index 0000000..99dfc2a
 1836         -
-- /dev/null
        1468  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-canonical-request.txt
 1837   1469   
@@ -0,0 +1,7 @@
        1470  +
GET
        1471  +
/example
        1472  +
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
        1473  +
host:example.amazonaws.com
        1474  +
        1475  +
host
        1476  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1838   1477   
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
 1839   1478   
new file mode 100644
 1840   1479   
index 0000000..fcd7a17
 1841         -
-- /dev/null
        1480  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signature.txt
 1842   1481   
@@ -0,0 +1 @@
        1482  +
35034b1a0bdd969f346975386daf8aedfd4976573b8348cf4f67eaa41c5857de
              \
 No newline at end of file
 1843   1483   
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
 1844   1484   
new file mode 100644
 1845   1485   
index 0000000..f671de2
 1846         -
-- /dev/null
        1486  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signed-request.txt
 1847   1487   
@@ -0,0 +1,3 @@
        1488  +
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
        1489  +
Host:example.amazonaws.com
        1490  +
 1848   1491   
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
 1849   1492   
new file mode 100644
 1850   1493   
index 0000000..f8456dc
 1851         -
-- /dev/null
        1494  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 1852   1495   
@@ -0,0 +1,4 @@
        1496  +
AWS4-HMAC-SHA256
        1497  +
20150830T123600Z
        1498  +
20150830/us-east-1/service/aws4_request
        1499  +
88dd73bb06de69cb042dbb82cadbb4fce1a2623615d94520c271614abf94e738
              \
 No newline at end of file
 1853   1500   
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
 1854   1501   
similarity index 100%
 1855   1502   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/request.txt
 1856   1503   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/request.txt
 1857   1504   
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
 1858   1505   
similarity index 99%
 1859   1506   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/context.json
 1860   1507   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/context.json
 1861   1508   
index afe367b..7bee5c7 100644
 1862   1509   
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
 1863   1510   
new file mode 100644
 1864   1511   
index 0000000..36698c7
 1865         -
-- /dev/null
        1512  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 1866   1513   
@@ -0,0 +1,8 @@
        1514  +
GET
        1515  +
/./example
        1516  +
        1517  +
host:example.amazonaws.com
        1518  +
x-amz-date:20150830T123600Z
        1519  +
        1520  +
host;x-amz-date
        1521  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1867   1522   
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
 1868   1523   
new file mode 100644
 1869   1524   
index 0000000..4a4b8f2
 1870         -
-- /dev/null
        1525  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signature.txt
 1871   1526   
@@ -0,0 +1 @@
        1527  +
beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
              \
 No newline at end of file
 1872   1528   
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
 1873   1529   
new file mode 100644
 1874   1530   
index 0000000..d462bcd
 1875         -
-- /dev/null
        1531  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 1876   1532   
@@ -0,0 +1,5 @@
        1533  +
GET /./example HTTP/1.1
        1534  +
Host:example.amazonaws.com
        1535  +
X-Amz-Date:20150830T123600Z
        1536  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
        1537  +
 1877   1538   
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
 1878   1539   
new file mode 100644
 1879   1540   
index 0000000..8be78c9
 1880         -
-- /dev/null
        1541  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 1881   1542   
@@ -0,0 +1,4 @@
        1543  +
AWS4-HMAC-SHA256
        1544  +
20150830T123600Z
        1545  +
20150830/us-east-1/service/aws4_request
        1546  +
73895e0e829507e28e39fd24669aedc2434a8e179e547e3c075b42921f952cdb
              \
 No newline at end of file
 1882   1547   
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
 1883   1548   
new file mode 100644
 1884   1549   
index 0000000..fe1103c
 1885         -
-- /dev/null
        1550  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 1886   1551   
@@ -0,0 +1,7 @@
        1552  +
GET
        1553  +
/./example
        1554  +
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
        1555  +
host:example.amazonaws.com
        1556  +
        1557  +
host
        1558  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1887   1559   
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
 1888   1560   
new file mode 100644
 1889   1561   
index 0000000..ce80762
 1890         -
-- /dev/null
        1562  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signature.txt
 1891   1563   
@@ -0,0 +1 @@
        1564  +
72b11f16d9530b18204bfb71f2d6ab085894c0ed8d352730a6e76234c58b5e10
              \
 No newline at end of file
 1892   1565   
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
 1893   1566   
new file mode 100644
 1894   1567   
index 0000000..30841a6
 1895         -
-- /dev/null
        1568  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 1896   1569   
@@ -0,0 +1,3 @@
        1570  +
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
        1571  +
Host:example.amazonaws.com
        1572  +
 1897   1573   
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
 1898   1574   
new file mode 100644
 1899   1575   
index 0000000..5c66509
 1900         -
-- /dev/null
        1576  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 1901   1577   
@@ -0,0 +1,4 @@
        1578  +
AWS4-HMAC-SHA256
        1579  +
20150830T123600Z
        1580  +
20150830/us-east-1/service/aws4_request
        1581  +
cb23444939471187ac1f0fb25d437337af0d5f48b5ae0ede5baa3727c8c6af92
              \
 No newline at end of file
 1902   1582   
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
 1903   1583   
similarity index 100%
 1904   1584   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/request.txt
 1905   1585   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/request.txt
 1906   1586   
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
 1907   1587   
new file mode 100644
 1908   1588   
index 0000000..7bee5c7
 1909         -
-- /dev/null
        1589  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/context.json
 1910   1590   
@@ -0,0 +1,12 @@
        1591  +
{
        1592  +
    "credentials": {
        1593  +
        "access_key_id": "AKIDEXAMPLE",
        1594  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1595  +
    },
        1596  +
    "expiration_in_seconds": 3600,
        1597  +
    "normalize": false,
        1598  +
    "region": "us-east-1",
        1599  +
    "service": "service",
        1600  +
    "sign_body": false,
        1601  +
    "timestamp": "2015-08-30T12:36:00Z"
        1602  +
}
              \
 No newline at end of file
 1911   1603   
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
 1912   1604   
new file mode 100644
 1913   1605   
index 0000000..5860c8a
 1914         -
-- /dev/null
        1606  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-canonical-request.txt
 1915   1607   
@@ -0,0 +1,8 @@
        1608  +
GET
        1609  +
//
        1610  +
        1611  +
host:example.amazonaws.com
        1612  +
x-amz-date:20150830T123600Z
        1613  +
        1614  +
host;x-amz-date
        1615  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1916   1616   
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
 1917   1617   
new file mode 100644
 1918   1618   
index 0000000..8310471
 1919         -
-- /dev/null
        1619  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signature.txt
 1920   1620   
@@ -0,0 +1 @@
        1621  +
c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
              \
 No newline at end of file
 1921   1622   
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
 1922   1623   
new file mode 100644
 1923   1624   
index 0000000..2a7afef
 1924         -
-- /dev/null
        1625  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signed-request.txt
 1925   1626   
@@ -0,0 +1,5 @@
        1627  +
GET // HTTP/1.1
        1628  +
Host:example.amazonaws.com
        1629  +
X-Amz-Date:20150830T123600Z
        1630  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
        1631  +
 1926   1632   
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
 1927   1633   
new file mode 100644
 1928   1634   
index 0000000..06059dd
 1929         -
-- /dev/null
        1635  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-string-to-sign.txt
 1930   1636   
@@ -0,0 +1,4 @@
        1637  +
AWS4-HMAC-SHA256
        1638  +
20150830T123600Z
        1639  +
20150830/us-east-1/service/aws4_request
        1640  +
80cb39203d058af815de2b79250ff56e1b73eb9b4718c86556cdc6f150c5d209
              \
 No newline at end of file
 1931   1641   
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
 1932   1642   
new file mode 100644
 1933   1643   
index 0000000..6d63aef
 1934         -
-- /dev/null
        1644  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-canonical-request.txt
 1935   1645   
@@ -0,0 +1,7 @@
        1646  +
GET
        1647  +
//
        1648  +
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
        1649  +
host:example.amazonaws.com
        1650  +
        1651  +
host
        1652  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1936   1653   
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
 1937   1654   
new file mode 100644
 1938   1655   
index 0000000..e5b7b6c
 1939         -
-- /dev/null
        1656  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signature.txt
 1940   1657   
@@ -0,0 +1 @@
        1658  +
b2a9542809db687769200f56a844a03f2bd0291d6eb90232d5101c6a579446cd
              \
 No newline at end of file
 1941   1659   
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
 1942   1660   
new file mode 100644
 1943   1661   
index 0000000..46fe3fd
 1944         -
-- /dev/null
        1662  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signed-request.txt
 1945   1663   
@@ -0,0 +1,3 @@
        1664  +
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
        1665  +
Host:example.amazonaws.com
        1666  +
 1946   1667   
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
 1947   1668   
new file mode 100644
 1948   1669   
index 0000000..ea79940
 1949         -
-- /dev/null
        1670  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-string-to-sign.txt
 1950   1671   
@@ -0,0 +1,4 @@
        1672  +
AWS4-HMAC-SHA256
        1673  +
20150830T123600Z
        1674  +
20150830/us-east-1/service/aws4_request
        1675  +
e10a01494cafa1f2207c4de80c69b7a36d6f2d282aa63ee64a5ca50e175cf730
              \
 No newline at end of file
 1951   1676   
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
 1952   1677   
similarity index 100%
 1953   1678   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/request.txt
 1954   1679   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/request.txt
 1955   1680   
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
 1956   1681   
new file mode 100644
 1957   1682   
index 0000000..0468d80
 1958         -
-- /dev/null
        1683  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/context.json
 1959   1684   
@@ -0,0 +1,12 @@
        1685  +
{
        1686  +
    "credentials": {
        1687  +
        "access_key_id": "AKIDEXAMPLE",
        1688  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1689  +
    },
        1690  +
    "expiration_in_seconds": 3600,
        1691  +
    "normalize": true,
        1692  +
    "region": "us-east-1",
        1693  +
    "service": "service",
        1694  +
    "sign_body": false,
        1695  +
    "timestamp": "2015-08-30T12:36:00Z"
        1696  +
}
              \
 No newline at end of file
 1960   1697   
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
 1961   1698   
similarity index 100%
 1962   1699   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.creq
 1963   1700   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-canonical-request.txt
 1964   1701   
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
 1965   1702   
new file mode 100644
 1966   1703   
index 0000000..71c7bac
 1967         -
-- /dev/null
        1704  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signature.txt
 1968   1705   
@@ -0,0 +1 @@
        1706  +
9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
              \
 No newline at end of file
 1969   1707   
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
 1970   1708   
new file mode 100644
 1971   1709   
index 0000000..0add1f1
 1972         -
-- /dev/null
        1710  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signed-request.txt
 1973   1711   
@@ -0,0 +1,5 @@
        1712  +
GET //example// HTTP/1.1
        1713  +
Host:example.amazonaws.com
        1714  +
X-Amz-Date:20150830T123600Z
        1715  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
        1716  +
 1974   1717   
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
 1975   1718   
similarity index 100%
 1976   1719   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sts
 1977   1720   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-string-to-sign.txt
 1978   1721   
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
 1979   1722   
new file mode 100644
 1980   1723   
index 0000000..ce72510
 1981         -
-- /dev/null
        1724  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-canonical-request.txt
 1982   1725   
@@ -0,0 +1,7 @@
        1726  +
GET
        1727  +
/example/
        1728  +
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
        1729  +
host:example.amazonaws.com
        1730  +
        1731  +
host
        1732  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1983   1733   
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
 1984   1734   
new file mode 100644
 1985   1735   
index 0000000..265f387
 1986         -
-- /dev/null
        1736  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signature.txt
 1987   1737   
@@ -0,0 +1 @@
        1738  +
c1834e8fb0307243711f0f907f6ab7311ed300d87f13792d7ee4da89ab93e082
              \
 No newline at end of file
 1988   1739   
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
 1989   1740   
new file mode 100644
 1990   1741   
index 0000000..e1fcb2e
 1991         -
-- /dev/null
        1742  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signed-request.txt
 1992   1743   
@@ -0,0 +1,3 @@
        1744  +
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
        1745  +
Host:example.amazonaws.com
        1746  +
 1993   1747   
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
 1994   1748   
new file mode 100644
 1995   1749   
index 0000000..a14de61
 1996         -
-- /dev/null
        1750  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-string-to-sign.txt
 1997   1751   
@@ -0,0 +1,4 @@
        1752  +
AWS4-HMAC-SHA256
        1753  +
20150830T123600Z
        1754  +
20150830/us-east-1/service/aws4_request
        1755  +
1a3e3fe19998c62136ed2ff9c8531973a46d4a21b336f58e8fcad185ec64d642
              \
 No newline at end of file
 1998   1756   
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
 1999   1757   
similarity index 100%
 2000   1758   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/request.txt
 2001   1759   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/request.txt
 2002   1760   
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
 2003   1761   
new file mode 100644
 2004   1762   
index 0000000..7bee5c7
 2005         -
-- /dev/null
        1763  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/context.json
 2006   1764   
@@ -0,0 +1,12 @@
        1765  +
{
        1766  +
    "credentials": {
        1767  +
        "access_key_id": "AKIDEXAMPLE",
        1768  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1769  +
    },
        1770  +
    "expiration_in_seconds": 3600,
        1771  +
    "normalize": false,
        1772  +
    "region": "us-east-1",
        1773  +
    "service": "service",
        1774  +
    "sign_body": false,
        1775  +
    "timestamp": "2015-08-30T12:36:00Z"
        1776  +
}
              \
 No newline at end of file
 2007   1777   
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
 2008   1778   
new file mode 100644
 2009   1779   
index 0000000..dfffaaf
 2010         -
-- /dev/null
        1780  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-canonical-request.txt
 2011   1781   
@@ -0,0 +1,8 @@
        1782  +
GET
        1783  +
//example//
        1784  +
        1785  +
host:example.amazonaws.com
        1786  +
x-amz-date:20150830T123600Z
        1787  +
        1788  +
host;x-amz-date
        1789  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2012   1790   
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
 2013   1791   
new file mode 100644
 2014   1792   
index 0000000..edbcc0d
 2015         -
-- /dev/null
        1793  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signature.txt
 2016   1794   
@@ -0,0 +1 @@
        1795  +
87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
              \
 No newline at end of file
 2017   1796   
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
 2018   1797   
new file mode 100644
 2019   1798   
index 0000000..4cc12dd
 2020         -
-- /dev/null
        1799  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signed-request.txt
 2021   1800   
@@ -0,0 +1,5 @@
        1801  +
GET //example// HTTP/1.1
        1802  +
Host:example.amazonaws.com
        1803  +
X-Amz-Date:20150830T123600Z
        1804  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
        1805  +
 2022   1806   
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
 2023   1807   
new file mode 100644
 2024   1808   
index 0000000..3eba390
 2025         -
-- /dev/null
        1809  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-string-to-sign.txt
 2026   1810   
@@ -0,0 +1,4 @@
        1811  +
AWS4-HMAC-SHA256
        1812  +
20150830T123600Z
        1813  +
20150830/us-east-1/service/aws4_request
        1814  +
528ec3105ee1f34ab014bb0a1a45da0ed2742a4fea3555149e5b4d5d201eb240
              \
 No newline at end of file
 2027   1815   
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
 2028   1816   
new file mode 100644
 2029   1817   
index 0000000..f7844e3
 2030         -
-- /dev/null
        1818  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-canonical-request.txt
 2031   1819   
@@ -0,0 +1,7 @@
        1820  +
GET
        1821  +
//example//
        1822  +
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
        1823  +
host:example.amazonaws.com
        1824  +
        1825  +
host
        1826  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2032   1827   
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
 2033   1828   
new file mode 100644
 2034   1829   
index 0000000..a8d6b96
 2035         -
-- /dev/null
        1830  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signature.txt
 2036   1831   
@@ -0,0 +1 @@
        1832  +
822a5a9ba28072c5ab2bb4a6307d0c88276d40e49fec6b724c03fb4d4ba60fc2
              \
 No newline at end of file
 2037   1833   
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
 2038   1834   
new file mode 100644
 2039   1835   
index 0000000..a8322c6
 2040         -
-- /dev/null
        1836  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signed-request.txt
 2041   1837   
@@ -0,0 +1,3 @@
        1838  +
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
        1839  +
Host:example.amazonaws.com
        1840  +
 2042   1841   
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
 2043   1842   
new file mode 100644
 2044   1843   
index 0000000..068724d
 2045         -
-- /dev/null
        1844  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-string-to-sign.txt
 2046   1845   
@@ -0,0 +1,4 @@
        1846  +
AWS4-HMAC-SHA256
        1847  +
20150830T123600Z
        1848  +
20150830/us-east-1/service/aws4_request
        1849  +
82241114f9a6320f054333c890952474aa7a0069d28a4326c3a8d95bbecc69ee
              \
 No newline at end of file
 2047   1850   
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
 2048   1851   
similarity index 100%
 2049   1852   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/request.txt
 2050   1853   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/request.txt
 2051   1854   
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
 2052   1855   
new file mode 100644
 2053   1856   
index 0000000..0468d80
 2054         -
-- /dev/null
        1857  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/context.json
 2055   1858   
@@ -0,0 +1,12 @@
        1859  +
{
        1860  +
    "credentials": {
        1861  +
        "access_key_id": "AKIDEXAMPLE",
        1862  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1863  +
    },
        1864  +
    "expiration_in_seconds": 3600,
        1865  +
    "normalize": true,
        1866  +
    "region": "us-east-1",
        1867  +
    "service": "service",
        1868  +
    "sign_body": false,
        1869  +
    "timestamp": "2015-08-30T12:36:00Z"
        1870  +
}
              \
 No newline at end of file
 2056   1871   
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
 2057   1872   
similarity index 100%
 2058   1873   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.creq
 2059   1874   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-canonical-request.txt
 2060   1875   
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
 2061   1876   
new file mode 100644
 2062   1877   
index 0000000..f63892b
 2063         -
-- /dev/null
        1878  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signature.txt
 2064   1879   
@@ -0,0 +1 @@
        1880  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 2065   1881   
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
 2066   1882   
new file mode 100644
 2067   1883   
index 0000000..19cd5cb
 2068         -
-- /dev/null
        1884  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signed-request.txt
 2069   1885   
@@ -0,0 +1,5 @@
        1886  +
GET /example space/ HTTP/1.1
        1887  +
Host:example.amazonaws.com
        1888  +
X-Amz-Date:20150830T123600Z
        1889  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1890  +
 2070   1891   
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
 2071   1892   
similarity index 100%
 2072   1893   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sts
 2073   1894   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-string-to-sign.txt
 2074   1895   
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
 2075   1896   
new file mode 100644
 2076   1897   
index 0000000..fa3d3e2
 2077         -
-- /dev/null
        1898  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-canonical-request.txt
 2078   1899   
@@ -0,0 +1,7 @@
        1900  +
GET
        1901  +
/example%20space/
        1902  +
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
        1903  +
host:example.amazonaws.com
        1904  +
        1905  +
host
        1906  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2079   1907   
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
 2080   1908   
new file mode 100644
 2081   1909   
index 0000000..5b2e204
 2082         -
-- /dev/null
        1910  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signature.txt
 2083   1911   
@@ -0,0 +1 @@
        1912  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 2084   1913   
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
 2085   1914   
new file mode 100644
 2086   1915   
index 0000000..93ca1d0
 2087         -
-- /dev/null
        1916  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signed-request.txt
 2088   1917   
@@ -0,0 +1,3 @@
        1918  +
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
        1919  +
Host:example.amazonaws.com
        1920  +
 2089   1921   
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
 2090   1922   
new file mode 100644
 2091   1923   
index 0000000..b4cb789
 2092         -
-- /dev/null
        1924  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-string-to-sign.txt
 2093   1925   
@@ -0,0 +1,4 @@
        1926  +
AWS4-HMAC-SHA256
        1927  +
20150830T123600Z
        1928  +
20150830/us-east-1/service/aws4_request
        1929  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 2094   1930   
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
 2095   1931   
new file mode 100644
 2096   1932   
index 0000000..860a277
 2097         -
-- /dev/null
        1933  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/request.txt
 2098   1934   
@@ -0,0 +1,2 @@
        1935  +
GET /example%20space/ HTTP/1.1
        1936  +
Host:example.amazonaws.com
 2099   1937   
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
 2100   1938   
new file mode 100644
 2101   1939   
index 0000000..7bee5c7
 2102         -
-- /dev/null
        1940  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/context.json
 2103   1941   
@@ -0,0 +1,12 @@
        1942  +
{
        1943  +
    "credentials": {
        1944  +
        "access_key_id": "AKIDEXAMPLE",
        1945  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1946  +
    },
        1947  +
    "expiration_in_seconds": 3600,
        1948  +
    "normalize": false,
        1949  +
    "region": "us-east-1",
        1950  +
    "service": "service",
        1951  +
    "sign_body": false,
        1952  +
    "timestamp": "2015-08-30T12:36:00Z"
        1953  +
}
              \
 No newline at end of file
 2104   1954   
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
 2105   1955   
similarity index 66%
 2106   1956   
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
 2107   1957   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 2108   1958   
index 71dc981..124a709 100644
 2109         -
-- 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
        1959  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 2110   1960   
@@ -1,9 +1,8 @@
 2111         -
POST
 2112         -
/
        1961  +
GET
        1962  +
/example%20space/
 2113   1963   
 2114         -
content-type:application/x-www-form-urlencoded; charset=utf-8
 2115   1964   
host:example.amazonaws.com
 2116   1965   
x-amz-date:20150830T123600Z
 2117   1966   
 2118   1967   
host;x-amz-date
 2119   1968   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2120   1969   
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
 2121   1970   
new file mode 100644
 2122   1971   
index 0000000..f63892b
 2123         -
-- /dev/null
        1972  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signature.txt
 2124   1973   
@@ -0,0 +1 @@
        1974  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 2125   1975   
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
 2126   1976   
new file mode 100644
 2127   1977   
index 0000000..19cd5cb
 2128         -
-- /dev/null
        1978  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signed-request.txt
 2129   1979   
@@ -0,0 +1,5 @@
        1980  +
GET /example space/ HTTP/1.1
        1981  +
Host:example.amazonaws.com
        1982  +
X-Amz-Date:20150830T123600Z
        1983  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1984  +
 2130   1985   
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
 2131   1986   
new file mode 100644
 2132   1987   
index 0000000..a633f0c
 2133         -
-- /dev/null
        1988  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-string-to-sign.txt
 2134   1989   
@@ -0,0 +1,4 @@
        1990  +
AWS4-HMAC-SHA256
        1991  +
20150830T123600Z
        1992  +
20150830/us-east-1/service/aws4_request
        1993  +
63ee75631ed7234ae61b5f736dfc7754cdccfedbff4b5128a915706ee9390d86
              \
 No newline at end of file
 2135   1994   
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
 2136   1995   
new file mode 100644
 2137   1996   
index 0000000..fa3d3e2
 2138         -
-- /dev/null
        1997  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-canonical-request.txt
 2139   1998   
@@ -0,0 +1,7 @@
        1999  +
GET
        2000  +
/example%20space/
        2001  +
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
        2002  +
host:example.amazonaws.com
        2003  +
        2004  +
host
        2005  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2140   2006   
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
 2141   2007   
new file mode 100644
 2142   2008   
index 0000000..5b2e204
 2143         -
-- /dev/null
        2009  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signature.txt
 2144   2010   
@@ -0,0 +1 @@
        2011  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 2145   2012   
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
 2146   2013   
new file mode 100644
 2147   2014   
index 0000000..93ca1d0
 2148         -
-- /dev/null
        2015  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signed-request.txt
 2149   2016   
@@ -0,0 +1,3 @@
        2017  +
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
        2018  +
Host:example.amazonaws.com
        2019  +
 2150   2020   
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
 2151   2021   
new file mode 100644
 2152   2022   
index 0000000..b4cb789
 2153         -
-- /dev/null
        2023  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-string-to-sign.txt
 2154   2024   
@@ -0,0 +1,4 @@
        2025  +
AWS4-HMAC-SHA256
        2026  +
20150830T123600Z
        2027  +
20150830/us-east-1/service/aws4_request
        2028  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 2155   2029   
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
 2156   2030   
similarity index 67%
 2157   2031   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
 2158   2032   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 2159   2033   
index b7d5e8b..ab509ab 100644
 2160         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
        2034  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 2161   2035   
@@ -1,3 +1,2 @@
 2162   2036   
GET /example space/ HTTP/1.1
 2163   2037   
Host:example.amazonaws.com
 2164         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2165   2038   
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
 2166   2039   
new file mode 100644
 2167   2040   
index 0000000..0468d80
 2168         -
-- /dev/null
        2041  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/context.json
 2169   2042   
@@ -0,0 +1,12 @@
        2043  +
{
        2044  +
    "credentials": {
        2045  +
        "access_key_id": "AKIDEXAMPLE",
        2046  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2047  +
    },
        2048  +
    "expiration_in_seconds": 3600,
        2049  +
    "normalize": true,
        2050  +
    "region": "us-east-1",
        2051  +
    "service": "service",
        2052  +
    "sign_body": false,
        2053  +
    "timestamp": "2015-08-30T12:36:00Z"
        2054  +
}
              \
 No newline at end of file
 2170   2055   
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
 2171   2056   
similarity index 100%
 2172   2057   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.creq
 2173   2058   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-canonical-request.txt
 2174   2059   
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
 2175   2060   
new file mode 100644
 2176   2061   
index 0000000..e503354
 2177         -
-- /dev/null
        2062  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signature.txt
 2178   2063   
@@ -0,0 +1 @@
        2064  +
07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
              \
 No newline at end of file
 2179   2065   
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
 2180   2066   
new file mode 100644
 2181   2067   
index 0000000..4367892
 2182         -
-- /dev/null
        2068  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signed-request.txt
 2183   2069   
@@ -0,0 +1,5 @@
        2070  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        2071  +
Host:example.amazonaws.com
        2072  +
X-Amz-Date:20150830T123600Z
        2073  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
        2074  +
 2184   2075   
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
 2185   2076   
similarity index 100%
 2186   2077   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sts
 2187   2078   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-string-to-sign.txt
 2188   2079   
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
 2189   2080   
new file mode 100644
 2190   2081   
index 0000000..d7f0696
 2191         -
-- /dev/null
        2082  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-canonical-request.txt
 2192   2083   
@@ -0,0 +1,7 @@
        2084  +
GET
        2085  +
/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
        2086  +
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
        2087  +
host:example.amazonaws.com
        2088  +
        2089  +
host
        2090  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2193   2091   
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
 2194   2092   
new file mode 100644
 2195   2093   
index 0000000..509e972
 2196         -
-- /dev/null
        2094  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signature.txt
 2197   2095   
@@ -0,0 +1 @@
        2096  +
95968482db1b9e0fadef6efc1bd24689f77c77d9ef56919c96a28cc92e0d6005
              \
 No newline at end of file
 2198   2097   
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
 2199   2098   
new file mode 100644
 2200   2099   
index 0000000..79aad36
 2201         -
-- /dev/null
        2100  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signed-request.txt
 2202   2101   
@@ -0,0 +1,3 @@
        2102  +
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
        2103  +
Host:example.amazonaws.com
        2104  +
 2203   2105   
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
 2204   2106   
new file mode 100644
 2205   2107   
index 0000000..e8068b3
 2206         -
-- /dev/null
        2108  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-string-to-sign.txt
 2207   2109   
@@ -0,0 +1,4 @@
        2110  +
AWS4-HMAC-SHA256
        2111  +
20150830T123600Z
        2112  +
20150830/us-east-1/service/aws4_request
        2113  +
3134f2fbc6ef58f34b74b01643a159bfccbc121ea4288a4b75e65bc805d08219
              \
 No newline at end of file
 2208   2114   
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
 2209   2115   
similarity index 100%
 2210   2116   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/request.txt
 2211   2117   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/request.txt
 2212   2118   
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
 2213   2119   
new file mode 100644
 2214   2120   
index 0000000..0468d80
 2215         -
-- /dev/null
        2121  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/context.json
 2216   2122   
@@ -0,0 +1,12 @@
        2123  +
{
        2124  +
    "credentials": {
        2125  +
        "access_key_id": "AKIDEXAMPLE",
        2126  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2127  +
    },
        2128  +
    "expiration_in_seconds": 3600,
        2129  +
    "normalize": true,
        2130  +
    "region": "us-east-1",
        2131  +
    "service": "service",
        2132  +
    "sign_body": false,
        2133  +
    "timestamp": "2015-08-30T12:36:00Z"
        2134  +
}
              \
 No newline at end of file
 2217   2135   
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
 2218   2136   
similarity index 100%
 2219   2137   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.creq
 2220   2138   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-canonical-request.txt
 2221   2139   
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
 2222   2140   
new file mode 100644
 2223   2141   
index 0000000..9a13676
 2224         -
-- /dev/null
        2142  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signature.txt
 2225   2143   
@@ -0,0 +1 @@
        2144  +
8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
              \
 No newline at end of file
 2226   2145   
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
 2227   2146   
new file mode 100644
 2228   2147   
index 0000000..5aaf47c
 2229         -
-- /dev/null
        2148  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signed-request.txt
 2230   2149   
@@ -0,0 +1,5 @@
        2150  +
GET /ሴ HTTP/1.1
        2151  +
Host:example.amazonaws.com
        2152  +
X-Amz-Date:20150830T123600Z
        2153  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
        2154  +
 2231   2155   
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
 2232   2156   
similarity index 100%
 2233   2157   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sts
 2234   2158   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-string-to-sign.txt
 2235   2159   
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
 2236   2160   
new file mode 100644
 2237   2161   
index 0000000..bdb77c9
 2238         -
-- /dev/null
        2162  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-canonical-request.txt
 2239   2163   
@@ -0,0 +1,7 @@
        2164  +
GET
        2165  +
/%E1%88%B4
        2166  +
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
        2167  +
host:example.amazonaws.com
        2168  +
        2169  +
host
        2170  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2240   2171   
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
 2241   2172   
new file mode 100644
 2242   2173   
index 0000000..21342b3
 2243         -
-- /dev/null
        2174  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signature.txt
 2244   2175   
@@ -0,0 +1 @@
        2176  +
10eae3f14a260bd3911cc6d008d3c576d143b05b62f09782a7a4b37f52178e44
              \
 No newline at end of file
 2245   2177   
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
 2246   2178   
new file mode 100644
 2247   2179   
index 0000000..368c2ff
 2248         -
-- /dev/null
        2180  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signed-request.txt
 2249   2181   
@@ -0,0 +1,3 @@
        2182  +
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
        2183  +
Host:example.amazonaws.com
        2184  +
 2250   2185   
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
 2251   2186   
new file mode 100644
 2252   2187   
index 0000000..56b8fbf
 2253         -
-- /dev/null
        2188  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-string-to-sign.txt
 2254   2189   
@@ -0,0 +1,4 @@
        2190  +
AWS4-HMAC-SHA256
        2191  +
20150830T123600Z
        2192  +
20150830/us-east-1/service/aws4_request
        2193  +
d8f78e05d0d9bb1c16ae1e60ed405de76cfb8fdcd3e414ffe65fad563b996d66
              \
 No newline at end of file
 2255   2194   
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
 2256   2195   
similarity index 62%
 2257   2196   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
 2258   2197   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 2259   2198   
index da4808d..9e273f6 100644
 2260         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
        2199  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 2261   2200   
@@ -1,3 +1,2 @@
 2262   2201   
GET /ሴ HTTP/1.1
 2263   2202   
Host:example.amazonaws.com
 2264         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2265   2203   
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
 2266   2204   
new file mode 100644
 2267   2205   
index 0000000..0468d80
 2268         -
-- /dev/null
        2206  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/context.json
 2269   2207   
@@ -0,0 +1,12 @@
        2208  +
{
        2209  +
    "credentials": {
        2210  +
        "access_key_id": "AKIDEXAMPLE",
        2211  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2212  +
    },
        2213  +
    "expiration_in_seconds": 3600,
        2214  +
    "normalize": true,
        2215  +
    "region": "us-east-1",
        2216  +
    "service": "service",
        2217  +
    "sign_body": false,
        2218  +
    "timestamp": "2015-08-30T12:36:00Z"
        2219  +
}
              \
 No newline at end of file
 2270   2220   
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
 2271   2221   
similarity index 100%
 2272   2222   
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
 2273   2223   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-canonical-request.txt
 2274   2224   
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
 2275   2225   
new file mode 100644
 2276   2226   
index 0000000..d7f1c1c
 2277         -
-- /dev/null
        2227  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signature.txt
 2278   2228   
@@ -0,0 +1 @@
        2229  +
a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
              \
 No newline at end of file
 2279   2230   
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
 2280   2231   
new file mode 100644
 2281   2232   
index 0000000..1c60790
 2282         -
-- /dev/null
        2233  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signed-request.txt
 2283   2234   
@@ -0,0 +1,5 @@
        2235  +
GET /?Param1=value1 HTTP/1.1
        2236  +
Host:example.amazonaws.com
        2237  +
X-Amz-Date:20150830T123600Z
        2238  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
        2239  +
 2284   2240   
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
 2285   2241   
similarity index 100%
 2286   2242   
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
 2287   2243   
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
 2288   2244   
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
 2289   2245   
new file mode 100644
 2290   2246   
index 0000000..6a823ed
 2291         -
-- /dev/null
        2247  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-canonical-request.txt
 2292   2248   
@@ -0,0 +1,7 @@
        2249  +
GET
        2250  +
/
        2251  +
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
        2252  +
host:example.amazonaws.com
        2253  +
        2254  +
host
        2255  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2293   2256   
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
 2294   2257   
new file mode 100644
 2295   2258   
index 0000000..8c77136
 2296         -
-- /dev/null
        2259  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signature.txt
 2297   2260   
@@ -0,0 +1 @@
        2261  +
49096700cbbaa5753443850f40df10f904fc2fdb544dc9512203cc77c471a9de
              \
 No newline at end of file
 2298   2262   
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
 2299   2263   
new file mode 100644
 2300   2264   
index 0000000..2d337d8
 2301         -
-- /dev/null
        2265  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signed-request.txt
 2302   2266   
@@ -0,0 +1,3 @@
        2267  +
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
        2268  +
Host:example.amazonaws.com
        2269  +
 2303   2270   
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
 2304   2271   
new file mode 100644
 2305   2272   
index 0000000..191a484
 2306         -
-- /dev/null
        2273  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-string-to-sign.txt
 2307   2274   
@@ -0,0 +1,4 @@
        2275  +
AWS4-HMAC-SHA256
        2276  +
20150830T123600Z
        2277  +
20150830/us-east-1/service/aws4_request
        2278  +
74828b608f939673ed5a839190452a943b0178760f258da766209b21f8ca3f86
              \
 No newline at end of file
 2308   2279   
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
 2309   2280   
similarity index 100%
 2310   2281   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/request.txt
 2311   2282   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/request.txt
 2312   2283   
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
 2313   2284   
new file mode 100644
 2314   2285   
index 0000000..0468d80
 2315         -
-- /dev/null
        2286  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/context.json
 2316   2287   
@@ -0,0 +1,12 @@
        2288  +
{
        2289  +
    "credentials": {
        2290  +
        "access_key_id": "AKIDEXAMPLE",
        2291  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2292  +
    },
        2293  +
    "expiration_in_seconds": 3600,
        2294  +
    "normalize": true,
        2295  +
    "region": "us-east-1",
        2296  +
    "service": "service",
        2297  +
    "sign_body": false,
        2298  +
    "timestamp": "2015-08-30T12:36:00Z"
        2299  +
}
              \
 No newline at end of file
 2317   2300   
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
 2318   2301   
new file mode 100644
 2319   2302   
index 0000000..0c8ba21
 2320         -
-- /dev/null
        2303  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-canonical-request.txt
 2321   2304   
@@ -0,0 +1,8 @@
        2305  +
GET
        2306  +
/
        2307  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        2308  +
host:example.amazonaws.com
        2309  +
x-amz-date:20150830T123600Z
        2310  +
        2311  +
host;x-amz-date
        2312  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2322   2313   
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
 2323   2314   
new file mode 100644
 2324   2315   
index 0000000..9ab65ed
 2325         -
-- /dev/null
        2316  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signature.txt
 2326   2317   
@@ -0,0 +1 @@
        2318  +
371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
              \
 No newline at end of file
 2327   2319   
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
 2328   2320   
new file mode 100644
 2329   2321   
index 0000000..0bcdf98
 2330         -
-- /dev/null
        2322  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signed-request.txt
 2331   2323   
@@ -0,0 +1,5 @@
        2324  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2325  +
Host:example.amazonaws.com
        2326  +
X-Amz-Date:20150830T123600Z
        2327  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
        2328  +
 2332   2329   
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
 2333   2330   
new file mode 100644
 2334   2331   
index 0000000..bf674ad
 2335         -
-- /dev/null
        2332  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-string-to-sign.txt
 2336   2333   
@@ -0,0 +1,4 @@
        2334  +
AWS4-HMAC-SHA256
        2335  +
20150830T123600Z
        2336  +
20150830/us-east-1/service/aws4_request
        2337  +
868294f5c38bd141c4972a373a76654f1418a8e4fc18b2e7903ae45e8ae0ec71
              \
 No newline at end of file
 2337   2338   
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
 2338   2339   
new file mode 100644
 2339   2340   
index 0000000..3f590a4
 2340         -
-- /dev/null
        2341  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-canonical-request.txt
 2341   2342   
@@ -0,0 +1,7 @@
        2343  +
GET
        2344  +
/
        2345  +
%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
        2346  +
host:example.amazonaws.com
        2347  +
        2348  +
host
        2349  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2342   2350   
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
 2343   2351   
new file mode 100644
 2344   2352   
index 0000000..e225eab
 2345         -
-- /dev/null
        2353  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signature.txt
 2346   2354   
@@ -0,0 +1 @@
        2355  +
c5f1848ceec943ac2ca68ee720460c23aaae30a2300586597ada94c4a65e4787
              \
 No newline at end of file
 2347   2356   
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
 2348   2357   
new file mode 100644
 2349   2358   
index 0000000..6206719
 2350         -
-- /dev/null
        2359  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signed-request.txt
 2351   2360   
@@ -0,0 +1,3 @@
        2361  +
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
        2362  +
Host:example.amazonaws.com
        2363  +
 2352   2364   
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
 2353   2365   
new file mode 100644
 2354   2366   
index 0000000..81a4210
 2355         -
-- /dev/null
        2367  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-string-to-sign.txt
 2356   2368   
@@ -0,0 +1,4 @@
        2369  +
AWS4-HMAC-SHA256
        2370  +
20150830T123600Z
        2371  +
20150830/us-east-1/service/aws4_request
        2372  +
9808d6cdc8245c74e705c68350fc6a62b91778cdd613890e5d177998c02c6f53
              \
 No newline at end of file
 2357   2373   
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
 2358   2374   
new file mode 100644
 2359   2375   
index 0000000..368c6e3
 2360         -
-- /dev/null
        2376  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/request.txt
 2361   2377   
@@ -0,0 +1,2 @@
        2378  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2379  +
Host:example.amazonaws.com
 2362   2380   
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
 2363   2381   
new file mode 100644
 2364   2382   
index 0000000..0468d80
 2365         -
-- /dev/null
        2383  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/context.json
 2366   2384   
@@ -0,0 +1,12 @@
        2385  +
{
        2386  +
    "credentials": {
        2387  +
        "access_key_id": "AKIDEXAMPLE",
        2388  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2389  +
    },
        2390  +
    "expiration_in_seconds": 3600,
        2391  +
    "normalize": true,
        2392  +
    "region": "us-east-1",
        2393  +
    "service": "service",
        2394  +
    "sign_body": false,
        2395  +
    "timestamp": "2015-08-30T12:36:00Z"
        2396  +
}
              \
 No newline at end of file
 2367   2397   
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
 2368   2398   
similarity index 100%
 2369   2399   
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
 2370   2400   
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
 2371   2401   
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
 2372   2402   
new file mode 100644
 2373   2403   
index 0000000..6a8cb9d
 2374         -
-- /dev/null
        2404  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signature.txt
 2375   2405   
@@ -0,0 +1 @@
        2406  +
b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
              \
 No newline at end of file
 2376   2407   
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
 2377   2408   
new file mode 100644
 2378   2409   
index 0000000..f78a9d2
 2379         -
-- /dev/null
        2410  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signed-request.txt
 2380   2411   
@@ -0,0 +1,5 @@
        2412  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        2413  +
Host:example.amazonaws.com
        2414  +
X-Amz-Date:20150830T123600Z
        2415  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
        2416  +
 2381   2417   
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
 2382   2418   
similarity index 100%
 2383   2419   
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
 2384   2420   
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
 2385   2421   
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
 2386   2422   
new file mode 100644
 2387   2423   
index 0000000..a6e1bc7
 2388         -
-- /dev/null
        2424  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-canonical-request.txt
 2389   2425   
@@ -0,0 +1,7 @@
        2426  +
GET
        2427  +
/
        2428  +
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
        2429  +
host:example.amazonaws.com
        2430  +
        2431  +
host
        2432  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2390   2433   
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
 2391   2434   
new file mode 100644
 2392   2435   
index 0000000..d6e6a88
 2393         -
-- /dev/null
        2436  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signature.txt
 2394   2437   
@@ -0,0 +1 @@
        2438  +
86012e2c9ad4d77369f5d81c11f75158aae4f895a085212cc6d3f923d300bed5
              \
 No newline at end of file
 2395   2439   
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
 2396   2440   
new file mode 100644
 2397   2441   
index 0000000..538e2f0
 2398         -
-- /dev/null
        2442  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signed-request.txt
 2399   2443   
@@ -0,0 +1,3 @@
        2444  +
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
        2445  +
Host:example.amazonaws.com
        2446  +
 2400   2447   
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
 2401   2448   
new file mode 100644
 2402   2449   
index 0000000..e696085
 2403         -
-- /dev/null
        2450  +
++ 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
 2404   2451   
@@ -0,0 +1,4 @@
        2452  +
AWS4-HMAC-SHA256
        2453  +
20150830T123600Z
        2454  +
20150830/us-east-1/service/aws4_request
        2455  +
b82878ecb2ab7ad194b9fe79b2946c2a36ee1627a219408089b2d774c1a0cedb
              \
 No newline at end of file
 2405   2456   
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
 2406   2457   
similarity index 100%
 2407   2458   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/request.txt
 2408   2459   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/request.txt
 2409   2460   
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
 2410   2461   
new file mode 100644
 2411   2462   
index 0000000..0468d80
 2412         -
-- /dev/null
        2463  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/context.json
 2413   2464   
@@ -0,0 +1,12 @@
        2465  +
{
        2466  +
    "credentials": {
        2467  +
        "access_key_id": "AKIDEXAMPLE",
        2468  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2469  +
    },
        2470  +
    "expiration_in_seconds": 3600,
        2471  +
    "normalize": true,
        2472  +
    "region": "us-east-1",
        2473  +
    "service": "service",
        2474  +
    "sign_body": false,
        2475  +
    "timestamp": "2015-08-30T12:36:00Z"
        2476  +
}
              \
 No newline at end of file
 2414   2477   
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
 2415   2478   
similarity index 100%
 2416   2479   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq
 2417   2480   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-canonical-request.txt
 2418   2481   
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
 2419   2482   
new file mode 100644
 2420   2483   
index 0000000..876a64b
 2421         -
-- /dev/null
        2484  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signature.txt
 2422   2485   
@@ -0,0 +1 @@
        2486  +
9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
              \
 No newline at end of file
 2423   2487   
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
 2424   2488   
similarity index 50%
 2425   2489   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
 2426   2490   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2427   2491   
index ba1ef40..9d0d993 100644
 2428         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
        2492  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2429   2493   
@@ -1,4 +1,5 @@
 2430   2494   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 2431   2495   
Host:example.amazonaws.com
 2432   2496   
X-Amz-Date:20150830T123600Z
 2433         -
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
        2497  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
        2498  +
 2434   2499   
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
 2435   2500   
similarity index 100%
 2436   2501   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sts
 2437   2502   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-string-to-sign.txt
 2438   2503   
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
 2439   2504   
new file mode 100644
 2440   2505   
index 0000000..a1bac59
 2441         -
-- /dev/null
        2506  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-canonical-request.txt
 2442   2507   
@@ -0,0 +1,7 @@
        2508  +
GET
        2509  +
/
        2510  +
-._~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
        2511  +
host:example.amazonaws.com
        2512  +
        2513  +
host
        2514  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2443   2515   
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
 2444   2516   
new file mode 100644
 2445   2517   
index 0000000..41881e9
 2446         -
-- /dev/null
        2518  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signature.txt
 2447   2519   
@@ -0,0 +1 @@
        2520  +
8e76a88a7433637b12778d5592799b29ad21ecd6cf6325051c21d86f0acda2bf
              \
 No newline at end of file
 2448   2521   
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
 2449   2522   
new file mode 100644
 2450   2523   
index 0000000..3179076
 2451         -
-- /dev/null
        2524  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signed-request.txt
 2452   2525   
@@ -0,0 +1,3 @@
        2526  +
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
        2527  +
Host:example.amazonaws.com
        2528  +
 2453   2529   
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
 2454   2530   
new file mode 100644
 2455   2531   
index 0000000..6d675fc
 2456         -
-- /dev/null
        2532  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-string-to-sign.txt
 2457   2533   
@@ -0,0 +1,4 @@
        2534  +
AWS4-HMAC-SHA256
        2535  +
20150830T123600Z
        2536  +
20150830/us-east-1/service/aws4_request
        2537  +
c77f27ef2b499fbfee3f0b3c88bba7057b2b31ee9b62047078a5e0d6be91fd58
              \
 No newline at end of file
 2458   2538   
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
 2459   2539   
similarity index 100%
 2460   2540   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/request.txt
 2461   2541   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/request.txt
 2462   2542   
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
 2463   2543   
new file mode 100644
 2464   2544   
index 0000000..0468d80
 2465         -
-- /dev/null
        2545  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/context.json
 2466   2546   
@@ -0,0 +1,12 @@
        2547  +
{
        2548  +
    "credentials": {
        2549  +
        "access_key_id": "AKIDEXAMPLE",
        2550  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2551  +
    },
        2552  +
    "expiration_in_seconds": 3600,
        2553  +
    "normalize": true,
        2554  +
    "region": "us-east-1",
        2555  +
    "service": "service",
        2556  +
    "sign_body": false,
        2557  +
    "timestamp": "2015-08-30T12:36:00Z"
        2558  +
}
              \
 No newline at end of file
 2467   2559   
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
 2468   2560   
similarity index 100%
 2469   2561   
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
 2470   2562   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-canonical-request.txt
 2471   2563   
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
 2472   2564   
new file mode 100644
 2473   2565   
index 0000000..87f295f
 2474         -
-- /dev/null
        2566  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signature.txt
 2475   2567   
@@ -0,0 +1 @@
        2568  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2476   2569   
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
 2477   2570   
new file mode 100644
 2478   2571   
index 0000000..36b86e7
 2479         -
-- /dev/null
        2572  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signed-request.txt
 2480   2573   
@@ -0,0 +1,5 @@
        2574  +
GET / HTTP/1.1
        2575  +
Host:example.amazonaws.com
        2576  +
X-Amz-Date:20150830T123600Z
        2577  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2578  +
 2481   2579   
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
 2482   2580   
similarity index 100%
 2483   2581   
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
 2484   2582   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-string-to-sign.txt
 2485   2583   
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
 2486   2584   
new file mode 100644
 2487   2585   
index 0000000..fb2420d
 2488         -
-- /dev/null
        2586  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-canonical-request.txt
 2489   2587   
@@ -0,0 +1,7 @@
        2588  +
GET
        2589  +
/
        2590  +
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
        2591  +
host:example.amazonaws.com
        2592  +
        2593  +
host
        2594  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2490   2595   
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
 2491   2596   
new file mode 100644
 2492   2597   
index 0000000..da5c905
 2493         -
-- /dev/null
        2598  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signature.txt
 2494   2599   
@@ -0,0 +1 @@
        2600  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2495   2601   
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
 2496   2602   
new file mode 100644
 2497   2603   
index 0000000..eeb7a8f
 2498         -
-- /dev/null
        2604  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signed-request.txt
 2499   2605   
@@ -0,0 +1,3 @@
        2606  +
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
        2607  +
Host:example.amazonaws.com
        2608  +
 2500   2609   
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
 2501   2610   
new file mode 100644
 2502   2611   
index 0000000..d837e67
 2503         -
-- /dev/null
        2612  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-string-to-sign.txt
 2504   2613   
@@ -0,0 +1,4 @@
        2614  +
AWS4-HMAC-SHA256
        2615  +
20150830T123600Z
        2616  +
20150830/us-east-1/service/aws4_request
        2617  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2505   2618   
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
 2506   2619   
similarity index 100%
 2507   2620   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/request.txt
 2508   2621   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/request.txt
 2509   2622   
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
 2510   2623   
new file mode 100644
 2511   2624   
index 0000000..0468d80
 2512         -
-- /dev/null
        2625  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/context.json
 2513   2626   
@@ -0,0 +1,12 @@
        2627  +
{
        2628  +
    "credentials": {
        2629  +
        "access_key_id": "AKIDEXAMPLE",
        2630  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2631  +
    },
        2632  +
    "expiration_in_seconds": 3600,
        2633  +
    "normalize": true,
        2634  +
    "region": "us-east-1",
        2635  +
    "service": "service",
        2636  +
    "sign_body": false,
        2637  +
    "timestamp": "2015-08-30T12:36:00Z"
        2638  +
}
              \
 No newline at end of file
 2514   2639   
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
 2515   2640   
similarity index 100%
 2516   2641   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq
 2517   2642   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-canonical-request.txt
 2518   2643   
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
 2519   2644   
new file mode 100644
 2520   2645   
index 0000000..19a2cc9
 2521         -
-- /dev/null
        2646  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signature.txt
 2522   2647   
@@ -0,0 +1 @@
        2648  +
2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
              \
 No newline at end of file
 2523   2649   
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
 2524   2650   
new file mode 100644
 2525   2651   
index 0000000..acb13ee
 2526         -
-- /dev/null
        2652  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signed-request.txt
 2527   2653   
@@ -0,0 +1,5 @@
        2654  +
GET /?ሴ=bar HTTP/1.1
        2655  +
Host:example.amazonaws.com
        2656  +
X-Amz-Date:20150830T123600Z
        2657  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
        2658  +
 2528   2659   
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
 2529   2660   
similarity index 100%
 2530   2661   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sts
 2531   2662   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-string-to-sign.txt
 2532   2663   
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
 2533   2664   
new file mode 100644
 2534   2665   
index 0000000..92cee62
 2535         -
-- /dev/null
        2666  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-canonical-request.txt
 2536   2667   
@@ -0,0 +1,7 @@
        2668  +
GET
        2669  +
/
        2670  +
%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
        2671  +
host:example.amazonaws.com
        2672  +
        2673  +
host
        2674  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2537   2675   
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
 2538   2676   
new file mode 100644
 2539   2677   
index 0000000..c9e49de
 2540         -
-- /dev/null
        2678  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signature.txt
 2541   2679   
@@ -0,0 +1 @@
        2680  +
0bdd809b1519ac4f0c1dc3540e2cc46bd0c7f778eda408b2ebf3b913d21ff600
              \
 No newline at end of file
 2542   2681   
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
 2543   2682   
new file mode 100644
 2544   2683   
index 0000000..8f4d8d0
 2545         -
-- /dev/null
        2684  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signed-request.txt
 2546   2685   
@@ -0,0 +1,3 @@
        2686  +
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
        2687  +
Host:example.amazonaws.com
        2688  +
 2547   2689   
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
 2548   2690   
new file mode 100644
 2549   2691   
index 0000000..a6181dc
 2550         -
-- /dev/null
        2692  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-string-to-sign.txt
 2551   2693   
@@ -0,0 +1,4 @@
        2694  +
AWS4-HMAC-SHA256
        2695  +
20150830T123600Z
        2696  +
20150830/us-east-1/service/aws4_request
        2697  +
b2e8ae8e48ec880defebc6f6dc1d9fbc9f1856b33146f2943060ca71a50a7a77
              \
 No newline at end of file
 2552   2698   
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
 2553   2699   
similarity index 64%
 2554   2700   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
 2555   2701   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2556   2702   
index cc2757e..aff333a 100644
 2557         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
        2703  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2558   2704   
@@ -1,3 +1,2 @@
 2559   2705   
GET /?ሴ=bar HTTP/1.1
 2560   2706   
Host:example.amazonaws.com
 2561         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2562   2707   
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
 2563   2708   
similarity index 99%
 2564   2709   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/context.json
 2565   2710   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/context.json
 2566   2711   
index a457c8a..a334e18 100644
 2567   2712   
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
 2568   2713   
new file mode 100644
 2569   2714   
index 0000000..ccacdeb
 2570         -
-- /dev/null
        2715  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-canonical-request.txt
 2571   2716   
@@ -0,0 +1,9 @@
        2717  +
GET
        2718  +
/
        2719  +
        2720  +
host:example.amazonaws.com
        2721  +
x-amz-date:20150830T123600Z
        2722  +
x-amz-security-token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2723  +
        2724  +
host;x-amz-date;x-amz-security-token
        2725  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2572   2726   
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
 2573   2727   
new file mode 100644
 2574   2728   
index 0000000..083e30d
 2575         -
-- /dev/null
        2729  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signature.txt
 2576   2730   
@@ -0,0 +1 @@
        2731  +
07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
              \
 No newline at end of file
 2577   2732   
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
 2578   2733   
new file mode 100644
 2579   2734   
index 0000000..5287932
 2580         -
-- /dev/null
        2735  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signed-request.txt
 2581   2736   
@@ -0,0 +1,6 @@
        2737  +
GET / HTTP/1.1
        2738  +
Host:example.amazonaws.com
        2739  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2740  +
X-Amz-Date:20150830T123600Z
        2741  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
        2742  +
 2582   2743   
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
 2583   2744   
new file mode 100644
 2584   2745   
index 0000000..742b880
 2585         -
-- /dev/null
        2746  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-string-to-sign.txt
 2586   2747   
@@ -0,0 +1,4 @@
        2748  +
AWS4-HMAC-SHA256
        2749  +
20150830T123600Z
        2750  +
20150830/us-east-1/service/aws4_request
        2751  +
067b36aa60031588cea4a4cde1f21215227a047690c72247f1d70b32fbbfad2b
              \
 No newline at end of file
 2587   2752   
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
 2588   2753   
new file mode 100644
 2589   2754   
index 0000000..5e75179
 2590         -
-- /dev/null
        2755  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-canonical-request.txt
 2591   2756   
@@ -0,0 +1,7 @@
        2757  +
GET
        2758  +
/
        2759  +
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
        2760  +
host:example.amazonaws.com
        2761  +
        2762  +
host
        2763  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2592   2764   
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
 2593   2765   
new file mode 100644
 2594   2766   
index 0000000..50b947f
 2595         -
-- /dev/null
        2767  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signature.txt
 2596   2768   
@@ -0,0 +1 @@
        2769  +
7ff2b50b376cb4d151970630573d6291dc128cc5c2a12ffb237f73cc53f67b6c
              \
 No newline at end of file
 2597   2770   
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
 2598   2771   
new file mode 100644
 2599   2772   
index 0000000..aee910b
 2600         -
-- /dev/null
        2773  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signed-request.txt
 2601   2774   
@@ -0,0 +1,3 @@
        2775  +
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
        2776  +
Host:example.amazonaws.com
        2777  +
 2602   2778   
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
 2603   2779   
new file mode 100644
 2604   2780   
index 0000000..04a6c17
 2605         -
-- /dev/null
        2781  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-string-to-sign.txt
 2606   2782   
@@ -0,0 +1,4 @@
        2783  +
AWS4-HMAC-SHA256
        2784  +
20150830T123600Z
        2785  +
20150830/us-east-1/service/aws4_request
        2786  +
cb30434103085aa9e73780fc60dc9a9df818fd2a7b1de12a9f6f4d791f898761
              \
 No newline at end of file
 2607   2787   
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
 2608   2788   
similarity index 100%
 2609   2789   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/request.txt
 2610   2790   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/request.txt
 2611   2791   
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
 2612   2792   
new file mode 100644
 2613   2793   
index 0000000..0468d80
 2614         -
-- /dev/null
        2794  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/context.json
 2615   2795   
@@ -0,0 +1,12 @@
        2796  +
{
        2797  +
    "credentials": {
        2798  +
        "access_key_id": "AKIDEXAMPLE",
        2799  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2800  +
    },
        2801  +
    "expiration_in_seconds": 3600,
        2802  +
    "normalize": true,
        2803  +
    "region": "us-east-1",
        2804  +
    "service": "service",
        2805  +
    "sign_body": false,
        2806  +
    "timestamp": "2015-08-30T12:36:00Z"
        2807  +
}
              \
 No newline at end of file
 2616   2808   
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
 2617   2809   
similarity index 100%
 2618   2810   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.creq
 2619   2811   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-canonical-request.txt
 2620   2812   
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
 2621   2813   
new file mode 100644
 2622   2814   
index 0000000..87f295f
 2623         -
-- /dev/null
        2815  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signature.txt
 2624   2816   
@@ -0,0 +1 @@
        2817  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2625   2818   
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
 2626   2819   
new file mode 100644
 2627   2820   
index 0000000..36b86e7
 2628         -
-- /dev/null
        2821  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signed-request.txt
 2629   2822   
@@ -0,0 +1,5 @@
        2823  +
GET / HTTP/1.1
        2824  +
Host:example.amazonaws.com
        2825  +
X-Amz-Date:20150830T123600Z
        2826  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2827  +
 2630   2828   
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
 2631   2829   
similarity index 100%
 2632   2830   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sts
 2633   2831   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-string-to-sign.txt
 2634   2832   
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
 2635   2833   
new file mode 100644
 2636   2834   
index 0000000..fb2420d
 2637         -
-- /dev/null
        2835  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-canonical-request.txt
 2638   2836   
@@ -0,0 +1,7 @@
        2837  +
GET
        2838  +
/
        2839  +
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
        2840  +
host:example.amazonaws.com
        2841  +
        2842  +
host
        2843  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2639   2844   
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
 2640   2845   
new file mode 100644
 2641   2846   
index 0000000..da5c905
 2642         -
-- /dev/null
        2847  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signature.txt
 2643   2848   
@@ -0,0 +1 @@
        2849  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2644   2850   
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
 2645   2851   
new file mode 100644
 2646   2852   
index 0000000..eeb7a8f
 2647         -
-- /dev/null
        2853  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signed-request.txt
 2648   2854   
@@ -0,0 +1,3 @@
        2855  +
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
        2856  +
Host:example.amazonaws.com
        2857  +
 2649   2858   
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
 2650   2859   
new file mode 100644
 2651   2860   
index 0000000..d837e67
 2652         -
-- /dev/null
        2861  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-string-to-sign.txt
 2653   2862   
@@ -0,0 +1,4 @@
        2863  +
AWS4-HMAC-SHA256
        2864  +
20150830T123600Z
        2865  +
20150830/us-east-1/service/aws4_request
        2866  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2654   2867   
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
 2655   2868   
similarity index 100%
 2656   2869   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/request.txt
 2657   2870   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/request.txt
 2658   2871   
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
 2659   2872   
new file mode 100644
 2660   2873   
index 0000000..0468d80
 2661         -
-- /dev/null
        2874  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/context.json
 2662   2875   
@@ -0,0 +1,12 @@
        2876  +
{
        2877  +
    "credentials": {
        2878  +
        "access_key_id": "AKIDEXAMPLE",
        2879  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2880  +
    },
        2881  +
    "expiration_in_seconds": 3600,
        2882  +
    "normalize": true,
        2883  +
    "region": "us-east-1",
        2884  +
    "service": "service",
        2885  +
    "sign_body": false,
        2886  +
    "timestamp": "2015-08-30T12:36:00Z"
        2887  +
}
              \
 No newline at end of file
 2663   2888   
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
 2664   2889   
similarity index 100%
 2665   2890   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.creq
 2666   2891   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-canonical-request.txt
 2667   2892   
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
 2668   2893   
new file mode 100644
 2669   2894   
index 0000000..629487f
 2670         -
-- /dev/null
        2895  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signature.txt
 2671   2896   
@@ -0,0 +1 @@
        2897  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2672   2898   
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
 2673   2899   
new file mode 100644
 2674   2900   
index 0000000..0d99b1c
 2675         -
-- /dev/null
        2901  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signed-request.txt
 2676   2902   
@@ -0,0 +1,5 @@
        2903  +
POST / HTTP/1.1
        2904  +
Host:example.amazonaws.com
        2905  +
X-Amz-Date:20150830T123600Z
        2906  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        2907  +
 2677   2908   
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
 2678   2909   
similarity index 100%
 2679   2910   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sts
 2680   2911   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-string-to-sign.txt
 2681   2912   
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
 2682   2913   
new file mode 100644
 2683   2914   
index 0000000..d3341e7
 2684         -
-- /dev/null
        2915  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-canonical-request.txt
 2685   2916   
@@ -0,0 +1,7 @@
        2917  +
POST
        2918  +
/
        2919  +
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
        2920  +
host:example.amazonaws.com
        2921  +
        2922  +
host
        2923  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2686   2924   
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
 2687   2925   
new file mode 100644
 2688   2926   
index 0000000..79f7e0d
 2689         -
-- /dev/null
        2927  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signature.txt
 2690   2928   
@@ -0,0 +1 @@
        2929  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2691   2930   
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
 2692   2931   
new file mode 100644
 2693   2932   
index 0000000..94f1b21
 2694         -
-- /dev/null
        2933  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signed-request.txt
 2695   2934   
@@ -0,0 +1,3 @@
        2935  +
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
        2936  +
Host:example.amazonaws.com
        2937  +
 2696   2938   
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
 2697   2939   
new file mode 100644
 2698   2940   
index 0000000..e8f335b
 2699         -
-- /dev/null
        2941  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-string-to-sign.txt
 2700   2942   
@@ -0,0 +1,4 @@
        2943  +
AWS4-HMAC-SHA256
        2944  +
20150830T123600Z
        2945  +
20150830/us-east-1/service/aws4_request
        2946  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2701   2947   
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
 2702   2948   
similarity index 100%
 2703   2949   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/request.txt
 2704   2950   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/request.txt
 2705   2951   
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
 2706   2952   
new file mode 100644
 2707   2953   
index 0000000..0468d80
 2708         -
-- /dev/null
        2954  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/context.json
 2709   2955   
@@ -0,0 +1,12 @@
        2956  +
{
        2957  +
    "credentials": {
        2958  +
        "access_key_id": "AKIDEXAMPLE",
        2959  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2960  +
    },
        2961  +
    "expiration_in_seconds": 3600,
        2962  +
    "normalize": true,
        2963  +
    "region": "us-east-1",
        2964  +
    "service": "service",
        2965  +
    "sign_body": false,
        2966  +
    "timestamp": "2015-08-30T12:36:00Z"
        2967  +
}
              \
 No newline at end of file
 2710   2968   
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
 2711   2969   
similarity index 100%
 2712   2970   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.creq
 2713   2971   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-canonical-request.txt
 2714   2972   
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
 2715   2973   
new file mode 100644
 2716   2974   
index 0000000..e4e6428
 2717         -
-- /dev/null
        2975  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signature.txt
 2718   2976   
@@ -0,0 +1 @@
        2977  +
c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
              \
 No newline at end of file
 2719   2978   
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
 2720   2979   
new file mode 100644
 2721   2980   
index 0000000..e3778f5
 2722         -
-- /dev/null
        2981  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signed-request.txt
 2723   2982   
@@ -0,0 +1,6 @@
        2983  +
POST / HTTP/1.1
        2984  +
Host:example.amazonaws.com
        2985  +
My-Header1:value1
        2986  +
X-Amz-Date:20150830T123600Z
        2987  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
        2988  +
 2724   2989   
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
 2725   2990   
similarity index 100%
 2726   2991   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sts
 2727   2992   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-string-to-sign.txt
 2728   2993   
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
 2729   2994   
new file mode 100644
 2730   2995   
index 0000000..bd7c937
 2731         -
-- /dev/null
        2996  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-canonical-request.txt
 2732   2997   
@@ -0,0 +1,8 @@
        2998  +
POST
        2999  +
/
        3000  +
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
        3001  +
host:example.amazonaws.com
        3002  +
my-header1:value1
        3003  +
        3004  +
host;my-header1
        3005  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2733   3006   
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
 2734   3007   
new file mode 100644
 2735   3008   
index 0000000..0416f13
 2736         -
-- /dev/null
        3009  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signature.txt
 2737   3010   
@@ -0,0 +1 @@
        3011  +
c09d07e0d55871f10f2a6d350d994acf6825a3cae70673d7def55616e6119dd7
              \
 No newline at end of file
 2738   3012   
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
 2739   3013   
new file mode 100644
 2740   3014   
index 0000000..5e6522f
 2741         -
-- /dev/null
        3015  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signed-request.txt
 2742   3016   
@@ -0,0 +1,4 @@
        3017  +
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
        3018  +
Host:example.amazonaws.com
        3019  +
My-Header1:value1
        3020  +
 2743   3021   
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
 2744   3022   
new file mode 100644
 2745   3023   
index 0000000..d06d1df
 2746         -
-- /dev/null
        3024  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-string-to-sign.txt
 2747   3025   
@@ -0,0 +1,4 @@
        3026  +
AWS4-HMAC-SHA256
        3027  +
20150830T123600Z
        3028  +
20150830/us-east-1/service/aws4_request
        3029  +
1295ed77e4ef8b18b32815e493e0b0f78ee47615c0ecbebfec7c75709eb58c88
              \
 No newline at end of file
 2748   3030   
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
 2749   3031   
similarity index 100%
 2750   3032   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/request.txt
 2751   3033   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/request.txt
 2752   3034   
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
 2753   3035   
new file mode 100644
 2754   3036   
index 0000000..0468d80
 2755         -
-- /dev/null
        3037  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/context.json
 2756   3038   
@@ -0,0 +1,12 @@
        3039  +
{
        3040  +
    "credentials": {
        3041  +
        "access_key_id": "AKIDEXAMPLE",
        3042  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3043  +
    },
        3044  +
    "expiration_in_seconds": 3600,
        3045  +
    "normalize": true,
        3046  +
    "region": "us-east-1",
        3047  +
    "service": "service",
        3048  +
    "sign_body": false,
        3049  +
    "timestamp": "2015-08-30T12:36:00Z"
        3050  +
}
              \
 No newline at end of file
 2757   3051   
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
 2758   3052   
similarity index 100%
 2759   3053   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.creq
 2760   3054   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-canonical-request.txt
 2761   3055   
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
 2762   3056   
new file mode 100644
 2763   3057   
index 0000000..bb3809c
 2764         -
-- /dev/null
        3058  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signature.txt
 2765   3059   
@@ -0,0 +1 @@
        3060  +
cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
              \
 No newline at end of file
 2766   3061   
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
 2767   3062   
new file mode 100644
 2768   3063   
index 0000000..10f6761
 2769         -
-- /dev/null
        3064  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signed-request.txt
 2770   3065   
@@ -0,0 +1,6 @@
        3066  +
POST / HTTP/1.1
        3067  +
Host:example.amazonaws.com
        3068  +
My-Header1:VALUE1
        3069  +
X-Amz-Date:20150830T123600Z
        3070  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
        3071  +
 2771   3072   
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
 2772   3073   
similarity index 100%
 2773   3074   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sts
 2774   3075   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-string-to-sign.txt
 2775   3076   
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
 2776   3077   
new file mode 100644
 2777   3078   
index 0000000..f84856f
 2778         -
-- /dev/null
        3079  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-canonical-request.txt
 2779   3080   
@@ -0,0 +1,8 @@
        3081  +
POST
        3082  +
/
        3083  +
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
        3084  +
host:example.amazonaws.com
        3085  +
my-header1:VALUE1
        3086  +
        3087  +
host;my-header1
        3088  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2780   3089   
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
 2781   3090   
new file mode 100644
 2782   3091   
index 0000000..a9d3cac
 2783         -
-- /dev/null
        3092  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signature.txt
 2784   3093   
@@ -0,0 +1 @@
        3094  +
0698bc9e4f7f9139065ba2909c0e99da257e8e2a42492a097bcd46d792391fed
              \
 No newline at end of file
 2785   3095   
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
 2786   3096   
new file mode 100644
 2787   3097   
index 0000000..cf96c7c
 2788         -
-- /dev/null
        3098  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signed-request.txt
 2789   3099   
@@ -0,0 +1,4 @@
        3100  +
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
        3101  +
Host:example.amazonaws.com
        3102  +
My-Header1:VALUE1
        3103  +
 2790   3104   
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
 2791   3105   
new file mode 100644
 2792   3106   
index 0000000..47ef566
 2793         -
-- /dev/null
        3107  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-string-to-sign.txt
 2794   3108   
@@ -0,0 +1,4 @@
        3109  +
AWS4-HMAC-SHA256
        3110  +
20150830T123600Z
        3111  +
20150830/us-east-1/service/aws4_request
        3112  +
9d4d1de88f0149695a91a01275fc72dc00fb50bdc78e424f012ec860d5f8c41d
              \
 No newline at end of file
 2795   3113   
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
 2796   3114   
similarity index 100%
 2797   3115   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/request.txt
 2798   3116   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/request.txt
 2799   3117   
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
 2800   3118   
similarity index 100%
 2801   3119   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/context.json
 2802   3120   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/context.json
 2803   3121   
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
 2804   3122   
similarity index 100%
 2805   3123   
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
 2806   3124   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-canonical-request.txt
 2807   3125   
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
 2808   3126   
new file mode 100644
 2809   3127   
index 0000000..629487f
 2810         -
-- /dev/null
        3128  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signature.txt
 2811   3129   
@@ -0,0 +1 @@
        3130  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2812   3131   
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
 2813   3132   
similarity index 67%
 2814   3133   
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
 2815   3134   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2816   3135   
index 291ed07..f96ff9e 100644
 2817         -
-- 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
        3136  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2818   3137   
@@ -1,5 +1,6 @@
 2819   3138   
POST / HTTP/1.1
 2820   3139   
Host:example.amazonaws.com
 2821         -
X-Amz-Date:20150830T123600Z
 2822   3140   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2823         -
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
        3141  +
X-Amz-Date:20150830T123600Z
        3142  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        3143  +
 2824   3144   
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
 2825   3145   
similarity index 100%
 2826   3146   
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
 2827   3147   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-string-to-sign.txt
 2828   3148   
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
 2829   3149   
new file mode 100644
 2830   3150   
index 0000000..d3341e7
 2831         -
-- /dev/null
        3151  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-canonical-request.txt
 2832   3152   
@@ -0,0 +1,7 @@
        3153  +
POST
        3154  +
/
        3155  +
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
        3156  +
host:example.amazonaws.com
        3157  +
        3158  +
host
        3159  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2833   3160   
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
 2834   3161   
new file mode 100644
 2835   3162   
index 0000000..79f7e0d
 2836         -
-- /dev/null
        3163  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signature.txt
 2837   3164   
@@ -0,0 +1 @@
        3165  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2838   3166   
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
 2839   3167   
new file mode 100644
 2840   3168   
index 0000000..4983268
 2841         -
-- /dev/null
        3169  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signed-request.txt
 2842   3170   
@@ -0,0 +1,3 @@
        3171  +
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
        3172  +
Host:example.amazonaws.com
        3173  +
 2843   3174   
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
 2844   3175   
new file mode 100644
 2845   3176   
index 0000000..e8f335b
 2846         -
-- /dev/null
        3177  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-string-to-sign.txt
 2847   3178   
@@ -0,0 +1,4 @@
        3179  +
AWS4-HMAC-SHA256
        3180  +
20150830T123600Z
        3181  +
20150830/us-east-1/service/aws4_request
        3182  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2848   3183   
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
 2849   3184   
similarity index 100%
 2850   3185   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/request.txt
 2851   3186   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/request.txt
 2852   3187   
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
 2853   3188   
similarity index 100%
 2854   3189   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/context.json
 2855   3190   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/context.json
 2856   3191   
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
 2857   3192   
similarity index 100%
 2858   3193   
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
 2859   3194   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-canonical-request.txt
 2860   3195   
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
 2861   3196   
new file mode 100644
 2862   3197   
index 0000000..85a7c29
 2863         -
-- /dev/null
        3198  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signature.txt
 2864   3199   
@@ -0,0 +1 @@
        3200  +
85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
              \
 No newline at end of file
 2865   3201   
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
 2866   3202   
similarity index 65%
 2867   3203   
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
 2868   3204   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2869   3205   
index 37b2f04..4d0b143 100644
 2870         -
-- 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
        3206  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2871   3207   
@@ -1,5 +1,6 @@
 2872   3208   
POST / HTTP/1.1
 2873   3209   
Host:example.amazonaws.com
 2874         -
X-Amz-Date:20150830T123600Z
 2875   3210   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2876         -
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
        3211  +
X-Amz-Date:20150830T123600Z
        3212  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
        3213  +
 2877   3214   
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
 2878   3215   
similarity index 100%
 2879   3216   
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
 2880   3217   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-string-to-sign.txt
 2881   3218   
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
 2882   3219   
new file mode 100644
 2883   3220   
index 0000000..57a7bc3
 2884         -
-- /dev/null
        3221  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-canonical-request.txt
 2885   3222   
@@ -0,0 +1,7 @@
        3223  +
POST
        3224  +
/
        3225  +
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
        3226  +
host:example.amazonaws.com
        3227  +
        3228  +
host
        3229  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2886   3230   
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
 2887   3231   
new file mode 100644
 2888   3232   
index 0000000..eb905d2
 2889         -
-- /dev/null
        3233  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signature.txt
 2890   3234   
@@ -0,0 +1 @@
        3235  +
46c2e3c63c1dbe7d39f8ada16fe7f001c1f56c5791441565323677f96308871c
              \
 No newline at end of file
 2891   3236   
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
 2892   3237   
new file mode 100644
 2893   3238   
index 0000000..1d80ec0
 2894         -
-- /dev/null
        3239  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signed-request.txt
 2895   3240   
@@ -0,0 +1,3 @@
        3241  +
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
        3242  +
Host:example.amazonaws.com
        3243  +
 2896   3244   
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
 2897   3245   
new file mode 100644
 2898   3246   
index 0000000..bd0239a
 2899         -
-- /dev/null
        3247  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-string-to-sign.txt
 2900   3248   
@@ -0,0 +1,4 @@
        3249  +
AWS4-HMAC-SHA256
        3250  +
20150830T123600Z
        3251  +
20150830/us-east-1/service/aws4_request
        3252  +
37f7ba7a2ec89e8b29a0d637bcc70d8e8d0fdba854ddfc5bc06a12398cfe8605
              \
 No newline at end of file
 2901   3253   
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
 2902   3254   
similarity index 100%
 2903   3255   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/request.txt
 2904   3256   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/request.txt
 2905   3257   
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
 2906   3258   
new file mode 100644
 2907   3259   
index 0000000..0468d80
 2908         -
-- /dev/null
        3260  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/context.json
 2909   3261   
@@ -0,0 +1,12 @@
        3262  +
{
        3263  +
    "credentials": {
        3264  +
        "access_key_id": "AKIDEXAMPLE",
        3265  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3266  +
    },
        3267  +
    "expiration_in_seconds": 3600,
        3268  +
    "normalize": true,
        3269  +
    "region": "us-east-1",
        3270  +
    "service": "service",
        3271  +
    "sign_body": false,
        3272  +
    "timestamp": "2015-08-30T12:36:00Z"
        3273  +
}
              \
 No newline at end of file
 2910   3274   
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
 2911   3275   
similarity index 100%
 2912   3276   
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
 2913   3277   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-canonical-request.txt
 2914   3278   
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
 2915   3279   
new file mode 100644
 2916   3280   
index 0000000..80ed433
 2917         -
-- /dev/null
        3281  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signature.txt
 2918   3282   
@@ -0,0 +1 @@
        3283  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2919   3284   
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
 2920   3285   
new file mode 100644
 2921   3286   
index 0000000..4e614f8
 2922         -
-- /dev/null
        3287  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signed-request.txt
 2923   3288   
@@ -0,0 +1,5 @@
        3289  +
POST /?Param1=value1 HTTP/1.1
        3290  +
Host:example.amazonaws.com
        3291  +
X-Amz-Date:20150830T123600Z
        3292  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3293  +
 2924   3294   
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
 2925   3295   
similarity index 100%
 2926   3296   
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
 2927   3297   
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
 2928   3298   
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
 2929   3299   
new file mode 100644
 2930   3300   
index 0000000..be66403
 2931         -
-- /dev/null
        3301  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-canonical-request.txt
 2932   3302   
@@ -0,0 +1,7 @@
        3303  +
POST
        3304  +
/
        3305  +
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
        3306  +
host:example.amazonaws.com
        3307  +
        3308  +
host
        3309  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2933   3310   
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
 2934   3311   
new file mode 100644
 2935   3312   
index 0000000..20fd32b
 2936         -
-- /dev/null
        3313  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signature.txt
 2937   3314   
@@ -0,0 +1 @@
        3315  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2938   3316   
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
 2939   3317   
new file mode 100644
 2940   3318   
index 0000000..d1148d0
 2941         -
-- /dev/null
        3319  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signed-request.txt
 2942   3320   
@@ -0,0 +1,3 @@
        3321  +
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
        3322  +
Host:example.amazonaws.com
        3323  +
 2943   3324   
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
 2944   3325   
new file mode 100644
 2945   3326   
index 0000000..1a77103
 2946         -
-- /dev/null
        3327  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-string-to-sign.txt
 2947   3328   
@@ -0,0 +1,4 @@
        3329  +
AWS4-HMAC-SHA256
        3330  +
20150830T123600Z
        3331  +
20150830/us-east-1/service/aws4_request
        3332  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2948   3333   
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
 2949   3334   
similarity index 100%
 2950   3335   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/request.txt
 2951   3336   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/request.txt
 2952   3337   
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
 2953   3338   
new file mode 100644
 2954   3339   
index 0000000..0468d80
 2955         -
-- /dev/null
        3340  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/context.json
 2956   3341   
@@ -0,0 +1,12 @@
        3342  +
{
        3343  +
    "credentials": {
        3344  +
        "access_key_id": "AKIDEXAMPLE",
        3345  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3346  +
    },
        3347  +
    "expiration_in_seconds": 3600,
        3348  +
    "normalize": true,
        3349  +
    "region": "us-east-1",
        3350  +
    "service": "service",
        3351  +
    "sign_body": false,
        3352  +
    "timestamp": "2015-08-30T12:36:00Z"
        3353  +
}
              \
 No newline at end of file
 2957   3354   
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
 2958   3355   
similarity index 100%
 2959   3356   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.creq
 2960   3357   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-canonical-request.txt
 2961   3358   
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
 2962   3359   
new file mode 100644
 2963   3360   
index 0000000..80ed433
 2964         -
-- /dev/null
        3361  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signature.txt
 2965   3362   
@@ -0,0 +1 @@
        3363  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2966   3364   
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
 2967   3365   
new file mode 100644
 2968   3366   
index 0000000..4e614f8
 2969         -
-- /dev/null
        3367  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signed-request.txt
 2970   3368   
@@ -0,0 +1,5 @@
        3369  +
POST /?Param1=value1 HTTP/1.1
        3370  +
Host:example.amazonaws.com
        3371  +
X-Amz-Date:20150830T123600Z
        3372  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3373  +
 2971   3374   
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
 2972   3375   
similarity index 100%
 2973   3376   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sts
 2974   3377   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-string-to-sign.txt
 2975   3378   
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
 2976   3379   
new file mode 100644
 2977   3380   
index 0000000..be66403
 2978         -
-- /dev/null
        3381  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-canonical-request.txt
 2979   3382   
@@ -0,0 +1,7 @@
        3383  +
POST
        3384  +
/
        3385  +
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
        3386  +
host:example.amazonaws.com
        3387  +
        3388  +
host
        3389  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2980   3390   
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
 2981   3391   
new file mode 100644
 2982   3392   
index 0000000..20fd32b
 2983         -
-- /dev/null
        3393  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signature.txt
 2984   3394   
@@ -0,0 +1 @@
        3395  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2985   3396   
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
 2986   3397   
new file mode 100644
 2987   3398   
index 0000000..d1148d0
 2988         -
-- /dev/null
        3399  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signed-request.txt
 2989   3400   
@@ -0,0 +1,3 @@
        3401  +
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
        3402  +
Host:example.amazonaws.com
        3403  +
 2990   3404   
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
 2991   3405   
new file mode 100644
 2992   3406   
index 0000000..1a77103
 2993         -
-- /dev/null
        3407  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-string-to-sign.txt
 2994   3408   
@@ -0,0 +1,4 @@
        3409  +
AWS4-HMAC-SHA256
        3410  +
20150830T123600Z
        3411  +
20150830/us-east-1/service/aws4_request
        3412  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2995   3413   
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
 2996   3414   
similarity index 100%
 2997   3415   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/request.txt
 2998   3416   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/request.txt
 2999   3417   
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
 3000   3418   
new file mode 100644
 3001   3419   
index 0000000..0468d80
 3002         -
-- /dev/null
        3420  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/context.json
 3003   3421   
@@ -0,0 +1,12 @@
        3422  +
{
        3423  +
    "credentials": {
        3424  +
        "access_key_id": "AKIDEXAMPLE",
        3425  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3426  +
    },
        3427  +
    "expiration_in_seconds": 3600,
        3428  +
    "normalize": true,
        3429  +
    "region": "us-east-1",
        3430  +
    "service": "service",
        3431  +
    "sign_body": false,
        3432  +
    "timestamp": "2015-08-30T12:36:00Z"
        3433  +
}
              \
 No newline at end of file
 3004   3434   
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
 3005   3435   
similarity index 100%
 3006   3436   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.creq
 3007   3437   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-canonical-request.txt
 3008   3438   
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
 3009   3439   
new file mode 100644
 3010   3440   
index 0000000..629487f
 3011         -
-- /dev/null
        3441  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signature.txt
 3012   3442   
@@ -0,0 +1 @@
        3443  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 3013   3444   
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
 3014   3445   
new file mode 100644
 3015   3446   
index 0000000..0d99b1c
 3016         -
-- /dev/null
        3447  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signed-request.txt
 3017   3448   
@@ -0,0 +1,5 @@
        3449  +
POST / HTTP/1.1
        3450  +
Host:example.amazonaws.com
        3451  +
X-Amz-Date:20150830T123600Z
        3452  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        3453  +
 3018   3454   
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
 3019   3455   
similarity index 100%
 3020   3456   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sts
 3021   3457   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-string-to-sign.txt
 3022   3458   
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
 3023   3459   
new file mode 100644
 3024   3460   
index 0000000..d3341e7
 3025         -
-- /dev/null
        3461  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-canonical-request.txt
 3026   3462   
@@ -0,0 +1,7 @@
        3463  +
POST
        3464  +
/
        3465  +
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
        3466  +
host:example.amazonaws.com
        3467  +
        3468  +
host
        3469  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3027   3470   
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
 3028   3471   
new file mode 100644
 3029   3472   
index 0000000..79f7e0d
 3030         -
-- /dev/null
        3473  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signature.txt
 3031   3474   
@@ -0,0 +1 @@
        3475  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 3032   3476   
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
 3033   3477   
new file mode 100644
 3034   3478   
index 0000000..94f1b21
 3035         -
-- /dev/null
        3479  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signed-request.txt
 3036   3480   
@@ -0,0 +1,3 @@
        3481  +
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
        3482  +
Host:example.amazonaws.com
        3483  +
 3037   3484   
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
 3038   3485   
new file mode 100644
 3039   3486   
index 0000000..e8f335b
 3040         -
-- /dev/null
        3487  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-string-to-sign.txt
 3041   3488   
@@ -0,0 +1,4 @@
        3489  +
AWS4-HMAC-SHA256
        3490  +
20150830T123600Z
        3491  +
20150830/us-east-1/service/aws4_request
        3492  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 3042   3493   
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
 3043   3494   
similarity index 100%
 3044   3495   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/request.txt
 3045   3496   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/request.txt
 3046   3497   
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
 3047   3498   
similarity index 99%
 3048   3499   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/context.json
 3049   3500   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/context.json
 3050   3501   
index fc4bce6..0db1df1 100644
 3051   3502   
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
 3052   3503   
new file mode 100644
 3053   3504   
index 0000000..c218fdf
 3054         -
-- /dev/null
        3505  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 3055   3506   
@@ -0,0 +1,11 @@
        3507  +
POST
        3508  +
/
        3509  +
        3510  +
content-length:13
        3511  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3512  +
host:example.amazonaws.com
        3513  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3514  +
x-amz-date:20150830T123600Z
        3515  +
        3516  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3517  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 3056   3518   
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
 3057   3519   
new file mode 100644
 3058   3520   
index 0000000..836aa8b
 3059         -
-- /dev/null
        3521  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signature.txt
 3060   3522   
@@ -0,0 +1 @@
        3523  +
328d1b9eaadca9f5818ef05e8392801e091653bafec24fcab71e7344e7f51422
              \
 No newline at end of file
 3061   3524   
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
 3062   3525   
new file mode 100644
 3063   3526   
index 0000000..9262d53
 3064         -
-- /dev/null
        3527  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 3065   3528   
@@ -0,0 +1,9 @@
        3529  +
POST / HTTP/1.1
        3530  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3531  +
Host:example.amazonaws.com
        3532  +
Content-Length:13
        3533  +
X-Amz-Date:20150830T123600Z
        3534  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3535  +
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
        3536  +
        3537  +
Param1=value1
              \
 No newline at end of file
 3066   3538   
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
 3067   3539   
new file mode 100644
 3068   3540   
index 0000000..ddbdccc
 3069         -
-- /dev/null
        3541  +
++ 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
 3070   3542   
@@ -0,0 +1,4 @@
        3543  +
AWS4-HMAC-SHA256
        3544  +
20150830T123600Z
        3545  +
20150830/us-east-1/service/aws4_request
        3546  +
a89f1a5b53e37702ee6363ce1da3ce8f54386f3c8f352ae652153c2982a0bc4d
              \
 No newline at end of file
 3071   3547   
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
 3072   3548   
new file mode 100644
 3073   3549   
index 0000000..596a579
 3074         -
-- /dev/null
        3550  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 3075   3551   
@@ -0,0 +1,9 @@
        3552  +
POST
        3553  +
/
        3554  +
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
        3555  +
content-length:13
        3556  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3557  +
host:example.amazonaws.com
        3558  +
        3559  +
content-length;content-type;host
        3560  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 3076   3561   
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
 3077   3562   
new file mode 100644
 3078   3563   
index 0000000..bc85cd8
 3079         -
-- /dev/null
        3564  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signature.txt
 3080   3565   
@@ -0,0 +1 @@
        3566  +
0dbeb9b026c7b6675f266b8427efec9b4fa8b1f6ef1477d717aea231106eab4d
              \
 No newline at end of file
 3081   3567   
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
 3082   3568   
new file mode 100644
 3083   3569   
index 0000000..16b59e5
 3084         -
-- /dev/null
        3570  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 3085   3571   
@@ -0,0 +1,6 @@
        3572  +
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
        3573  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3574  +
Host:example.amazonaws.com
        3575  +
Content-Length:13
        3576  +
        3577  +
Param1=value1
              \
 No newline at end of file
 3086   3578   
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
 3087   3579   
new file mode 100644
 3088   3580   
index 0000000..50074af
 3089         -
-- /dev/null
        3581  +
++ 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
 3090   3582   
@@ -0,0 +1,4 @@
        3583  +
AWS4-HMAC-SHA256
        3584  +
20150830T123600Z
        3585  +
20150830/us-east-1/service/aws4_request
        3586  +
32192353b8ae6d857fac1c71cda066e6af2d3a3127ea7ac1fee22621ab4f05dc
              \
 No newline at end of file
 3091   3587   
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
 3092   3588   
similarity index 89%
 3093   3589   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/request.txt
 3094   3590   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/request.txt
 3095   3591   
index b711c25..8289eaa 100644
 3096   3592   
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
 3097   3593   
similarity index 99%
 3098   3594   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/context.json
 3099   3595   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/context.json
 3100   3596   
index fc4bce6..0db1df1 100644
 3101   3597   
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
 3102   3598   
new file mode 100644
 3103   3599   
index 0000000..4d116a5
 3104         -
-- /dev/null
        3600  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-canonical-request.txt
 3105   3601   
@@ -0,0 +1,11 @@
        3602  +
POST
        3603  +
/
        3604  +
        3605  +
content-length:13
        3606  +
content-type:application/x-www-form-urlencoded
        3607  +
host:example.amazonaws.com
        3608  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3609  +
x-amz-date:20150830T123600Z
        3610  +
        3611  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3612  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 3106   3613   
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
 3107   3614   
new file mode 100644
 3108   3615   
index 0000000..0d2ac37
 3109         -
-- /dev/null
        3616  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signature.txt
 3110   3617   
@@ -0,0 +1 @@
        3618  +
d3875051da38690788ef43de4db0d8f280229d82040bfac253562e56c3f20e0b
              \
 No newline at end of file
 3111   3619   
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
 3112   3620   
new file mode 100644
 3113   3621   
index 0000000..bd5e49c
 3114         -
-- /dev/null
        3622  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signed-request.txt
 3115   3623   
@@ -0,0 +1,9 @@
        3624  +
POST / HTTP/1.1
        3625  +
Content-Type:application/x-www-form-urlencoded
        3626  +
Host:example.amazonaws.com
        3627  +
Content-Length:13
        3628  +
X-Amz-Date:20150830T123600Z
        3629  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3630  +
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
        3631  +
        3632  +
Param1=value1
              \
 No newline at end of file
 3116   3633   
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
 3117   3634   
new file mode 100644
 3118   3635   
index 0000000..f1c599c
 3119         -
-- /dev/null
        3636  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-string-to-sign.txt
 3120   3637   
@@ -0,0 +1,4 @@
        3638  +
AWS4-HMAC-SHA256
        3639  +
20150830T123600Z
        3640  +
20150830/us-east-1/service/aws4_request
        3641  +
b1edd1d03544c25390e32085d55b57acc9a3961bb59415ff86c45c3d89d16cfb
              \
 No newline at end of file
 3121   3642   
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
 3122   3643   
new file mode 100644
 3123   3644   
index 0000000..1fc1bb7
 3124         -
-- /dev/null
        3645  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-canonical-request.txt
 3125   3646   
@@ -0,0 +1,9 @@
        3647  +
POST
        3648  +
/
        3649  +
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
        3650  +
content-length:13
        3651  +
content-type:application/x-www-form-urlencoded
        3652  +
host:example.amazonaws.com
        3653  +
        3654  +
content-length;content-type;host
        3655  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 3126   3656   
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
 3127   3657   
new file mode 100644
 3128   3658   
index 0000000..98c91b3
 3129         -
-- /dev/null
        3659  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signature.txt
 3130   3660   
@@ -0,0 +1 @@
        3661  +
89a40deed0f26f9461242825a082d2222717248abc7ab41f552ad84a94ad46e9
              \
 No newline at end of file
 3131   3662   
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
 3132   3663   
new file mode 100644
 3133   3664   
index 0000000..055cd7a
 3134         -
-- /dev/null
        3665  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signed-request.txt
 3135   3666   
@@ -0,0 +1,6 @@
        3667  +
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
        3668  +
Content-Type:application/x-www-form-urlencoded
        3669  +
Host:example.amazonaws.com
        3670  +
Content-Length:13
        3671  +
        3672  +
Param1=value1
              \
 No newline at end of file
 3136   3673   
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
 3137   3674   
new file mode 100644
 3138   3675   
index 0000000..db7fc27
 3139         -
-- /dev/null
        3676  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-string-to-sign.txt
 3140   3677   
@@ -0,0 +1,4 @@
        3678  +
AWS4-HMAC-SHA256
        3679  +
20150830T123600Z
        3680  +
20150830/us-east-1/service/aws4_request
        3681  +
ee5059a7c437165a28d0e775e6498be428761255d657d8c04cb1baa41de6514c
              \
 No newline at end of file
 3141   3682   
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
 3142   3683   
similarity index 88%
 3143   3684   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/request.txt
 3144   3685   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/request.txt
 3145   3686   
index 0091102..760b2d3 100644
 3146   3687   
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
 3147   3688   
new file mode 100644
 3148   3689   
index 0000000..0468d80
 3149         -
-- /dev/null
        3690  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/context.json
 3150   3691   
@@ -0,0 +1,12 @@
        3692  +
{
        3693  +
    "credentials": {
        3694  +
        "access_key_id": "AKIDEXAMPLE",
        3695  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3696  +
    },
        3697  +
    "expiration_in_seconds": 3600,
        3698  +
    "normalize": true,
        3699  +
    "region": "us-east-1",
        3700  +
    "service": "service",
        3701  +
    "sign_body": false,
        3702  +
    "timestamp": "2015-08-30T12:36:00Z"
        3703  +
}
              \
 No newline at end of file
 3151   3704   
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
 3152   3705   
similarity index 99%
 3153   3706   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-canonical-request.txt
 3154   3707   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-canonical-request.txt
 3155   3708   
index ccb5f43..1bc448e 100644
 3156   3709   
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
 3157   3710   
new file mode 100644
 3158   3711   
index 0000000..489c182
 3159         -
-- /dev/null
        3712  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signature.txt
 3160   3713   
@@ -0,0 +1 @@
        3714  +
304502204862ad283a21f883fc12f1156a6f3fcdbba13d1847e58aa5eb37c666477ea06b022100ee439fac0a975c9a6605b1fa44ad7b654a1f8ac6e868e4e1069a1b3aa35d8113
              \
 No newline at end of file
 3161   3715   
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
 3162   3716   
new file mode 100644
 3163   3717   
index 0000000..e1b8dbf
 3164         -
-- /dev/null
        3718  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signed-request.txt
 3165   3719   
@@ -0,0 +1,9 @@
        3720  +
GET / HTTP/1.1
        3721  +
Host:example.amazonaws.com
        3722  +
My-Header1:value2
        3723  +
My-Header1:value2
        3724  +
My-Header1:value1
        3725  +
X-Amz-Date:20150830T123600Z
        3726  +
X-Amz-Region-Set:us-east-1
        3727  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=30450220331da6dfebb0d19e5e161b1efa389ccb83cadb60bc71f6791ef71ac6054c44de0221008588b7d5c9f7a79ca9c02a02efbd0f540cda242a64ca1452aa914e050b517724
        3728  +
 3166   3729   
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
 3167   3730   
similarity index 99%
 3168   3731   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-string-to-sign.txt
 3169   3732   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-string-to-sign.txt
 3170   3733   
index 8783461..bfc4619 100644
 3171   3734   
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
 3172   3735   
new file mode 100644
 3173   3736   
index 0000000..379dcb2
 3174         -
-- /dev/null
        3737  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/public-key.json
 3175   3738   
@@ -0,0 +1,4 @@
        3739  +
{
        3740  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3741  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3742  +
}
 3176   3743   
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
 3177   3744   
similarity index 99%
 3178   3745   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-canonical-request.txt
 3179   3746   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-canonical-request.txt
 3180   3747   
index 9561297..c05c3f5 100644
 3181   3748   
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
 3182   3749   
new file mode 100644
 3183   3750   
index 0000000..de9a4c3
 3184         -
-- /dev/null
        3751  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signature.txt
 3185   3752   
@@ -0,0 +1 @@
        3753  +
3045022100e1e03fa80218cb464404dc4badbdf443f5f5bb504840a2b3803565a28be0388d022063399d4fb8b974906e87a8d67bf7e95334d9dc620817ef92eb2bc6affb1c6a10
              \
 No newline at end of file
 3186   3754   
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
 3187   3755   
new file mode 100644
 3188   3756   
index 0000000..6c6b8c4
 3189         -
-- /dev/null
        3757  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signed-request.txt
 3190   3758   
@@ -0,0 +1,6 @@
        3759  +
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
        3760  +
Host:example.amazonaws.com
        3761  +
My-Header1:value2
        3762  +
My-Header1:value2
        3763  +
My-Header1:value1
        3764  +
 3191   3765   
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
 3192   3766   
similarity index 99%
 3193   3767   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-string-to-sign.txt
 3194   3768   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-string-to-sign.txt
 3195   3769   
index 3140f6f..4eef106 100644
 3196   3770   
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
 3197   3771   
similarity index 78%
 3198   3772   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
 3199   3773   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 3200   3774   
index 08a0364..40455ce 100644
 3201         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
        3775  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 3202   3776   
@@ -1,6 +1,5 @@
 3203   3777   
GET / HTTP/1.1
 3204   3778   
Host:example.amazonaws.com
 3205   3779   
My-Header1:value2
 3206   3780   
My-Header1:value2
 3207   3781   
My-Header1:value1
 3208         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3209   3782   
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
 3210   3783   
new file mode 100644
 3211   3784   
index 0000000..0468d80
 3212         -
-- /dev/null
        3785  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/context.json
 3213   3786   
@@ -0,0 +1,12 @@
        3787  +
{
        3788  +
    "credentials": {
        3789  +
        "access_key_id": "AKIDEXAMPLE",
        3790  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3791  +
    },
        3792  +
    "expiration_in_seconds": 3600,
        3793  +
    "normalize": true,
        3794  +
    "region": "us-east-1",
        3795  +
    "service": "service",
        3796  +
    "sign_body": false,
        3797  +
    "timestamp": "2015-08-30T12:36:00Z"
        3798  +
}
              \
 No newline at end of file
 3214   3799   
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
 3215   3800   
new file mode 100644
 3216   3801   
index 0000000..69526cd
 3217         -
-- /dev/null
        3802  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-canonical-request.txt
 3218   3803   
@@ -0,0 +1,10 @@
        3804  +
GET
        3805  +
/
        3806  +
        3807  +
host:example.amazonaws.com
        3808  +
my-header1:value1 value2 value3
        3809  +
x-amz-date:20150830T123600Z
        3810  +
x-amz-region-set:us-east-1
        3811  +
        3812  +
host;my-header1;x-amz-date;x-amz-region-set
        3813  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3219   3814   
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
 3220   3815   
new file mode 100644
 3221   3816   
index 0000000..d51b4f3
 3222         -
-- /dev/null
        3817  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signature.txt
 3223   3818   
@@ -0,0 +1 @@
        3819  +
304502206a2d7c3572ebcb9a1f34e5fa744250c3fb2f403a0a7e4b0bc196286846a996a8022100d94aacba36ff453394df27966e9cccd7c6065457b6fe828aebe107307cc5e8e9
              \
 No newline at end of file
 3224   3820   
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
 3225   3821   
new file mode 100644
 3226   3822   
index 0000000..8131420
 3227         -
-- /dev/null
        3823  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signed-request.txt
 3228   3824   
@@ -0,0 +1,9 @@
        3825  +
GET / HTTP/1.1
        3826  +
Host:example.amazonaws.com
        3827  +
My-Header1:value1
        3828  +
  value2
        3829  +
     value3
        3830  +
X-Amz-Date:20150830T123600Z
        3831  +
X-Amz-Region-Set:us-east-1
        3832  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022060b9f2f480a395bf34aa42074697f923c2355e26970987461ce904a6a2eeef52022100fc7ef73838bbfba208a8cf8f3edbe1c8879be7853b677f492db93c30df6fbe02
        3833  +
 3229   3834   
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
 3230   3835   
new file mode 100644
 3231   3836   
index 0000000..e4d99fa
 3232         -
-- /dev/null
        3837  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-string-to-sign.txt
 3233   3838   
@@ -0,0 +1,4 @@
        3839  +
AWS4-ECDSA-P256-SHA256
        3840  +
20150830T123600Z
        3841  +
20150830/service/aws4_request
        3842  +
3579d4751dd7db30860b89a17b53647c70fd8363ec485836dbf68cfd22313398
              \
 No newline at end of file
 3234   3843   
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
 3235   3844   
new file mode 100644
 3236   3845   
index 0000000..379dcb2
 3237         -
-- /dev/null
        3846  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/public-key.json
 3238   3847   
@@ -0,0 +1,4 @@
        3848  +
{
        3849  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3850  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3851  +
}
 3239   3852   
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
 3240   3853   
new file mode 100644
 3241   3854   
index 0000000..3c4d52f
 3242         -
-- /dev/null
        3855  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-canonical-request.txt
 3243   3856   
@@ -0,0 +1,8 @@
        3857  +
GET
        3858  +
/
        3859  +
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
        3860  +
host:example.amazonaws.com
        3861  +
my-header1:value1 value2 value3
        3862  +
        3863  +
host;my-header1
        3864  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3244   3865   
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
 3245   3866   
new file mode 100644
 3246   3867   
index 0000000..4e63f9a
 3247         -
-- /dev/null
        3868  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signature.txt
 3248   3869   
@@ -0,0 +1 @@
        3870  +
30450220159829015456fd111a27c4e0d6a555da894aefd23c96c5eb915b94bf6788499a022100fd48a0b97d1c32a11ee33873f87953a3ef410978f226b4a708acb9e582828fde
              \
 No newline at end of file
 3249   3871   
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
 3250   3872   
new file mode 100644
 3251   3873   
index 0000000..adf1f09
 3252         -
-- /dev/null
        3874  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signed-request.txt
 3253   3875   
@@ -0,0 +1,6 @@
        3876  +
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
        3877  +
Host:example.amazonaws.com
        3878  +
My-Header1:value1
        3879  +
  value2
        3880  +
     value3
        3881  +
 3254   3882   
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
 3255   3883   
new file mode 100644
 3256   3884   
index 0000000..e085407
 3257         -
-- /dev/null
        3885  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-string-to-sign.txt
 3258   3886   
@@ -0,0 +1,4 @@
        3887  +
AWS4-ECDSA-P256-SHA256
        3888  +
20150830T123600Z
        3889  +
20150830/service/aws4_request
        3890  +
960c3db8a6ce71c62c4bc13e5f2a72231a8f1a644d52e688ac1524ecd4b09643
              \
 No newline at end of file
 3259   3891   
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
 3260   3892   
new file mode 100644
 3261   3893   
index 0000000..b5026cd
 3262         -
-- /dev/null
        3894  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/request.txt
 3263   3895   
@@ -0,0 +1,5 @@
        3896  +
GET / HTTP/1.1
        3897  +
Host:example.amazonaws.com
        3898  +
My-Header1:value1
        3899  +
  value2
        3900  +
     value3
 3264   3901   
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
 3265   3902   
new file mode 100644
 3266   3903   
index 0000000..0468d80
 3267         -
-- /dev/null
        3904  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/context.json
 3268   3905   
@@ -0,0 +1,12 @@
        3906  +
{
        3907  +
    "credentials": {
        3908  +
        "access_key_id": "AKIDEXAMPLE",
        3909  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3910  +
    },
        3911  +
    "expiration_in_seconds": 3600,
        3912  +
    "normalize": true,
        3913  +
    "region": "us-east-1",
        3914  +
    "service": "service",
        3915  +
    "sign_body": false,
        3916  +
    "timestamp": "2015-08-30T12:36:00Z"
        3917  +
}
              \
 No newline at end of file
 3269   3918   
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
 3270   3919   
similarity index 99%
 3271   3920   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-canonical-request.txt
 3272   3921   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-canonical-request.txt
 3273   3922   
index 9375193..533afdb 100644
 3274   3923   
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
 3275   3924   
new file mode 100644
 3276   3925   
index 0000000..057b426
 3277         -
-- /dev/null
        3926  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signature.txt
 3278   3927   
@@ -0,0 +1 @@
        3928  +
3045022005e72f83b232f1fa01d7344267d44a46fa4c193bc3d0ad256e89f92a561eb8fa022100c62a85a22a6018463df69c97da07cd189185dadeede293c659e15514cd28a0c9
              \
 No newline at end of file
 3279   3929   
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
 3280   3930   
new file mode 100644
 3281   3931   
index 0000000..4e4ccf0
 3282         -
-- /dev/null
        3932  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signed-request.txt
 3283   3933   
@@ -0,0 +1,10 @@
        3934  +
GET / 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  +
X-Amz-Date:20150830T123600Z
        3941  +
X-Amz-Region-Set:us-east-1
        3942  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=304402203410301a4cfc805996d0ac5305374d7cdff4e2564fcbd6f6cfed73b227966046022046e36b2ede1f78d2b68ea4534ae59da3de089e58f67ae08490411dfabd77f36e
        3943  +
 3284   3944   
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
 3285   3945   
similarity index 99%
 3286   3946   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-string-to-sign.txt
 3287   3947   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-string-to-sign.txt
 3288   3948   
index 6400baf..e68c952 100644
 3289   3949   
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
 3290   3950   
new file mode 100644
 3291   3951   
index 0000000..379dcb2
 3292         -
-- /dev/null
        3952  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/public-key.json
 3293   3953   
@@ -0,0 +1,4 @@
        3954  +
{
        3955  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3956  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3957  +
}
 3294   3958   
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
 3295   3959   
similarity index 99%
 3296   3960   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-canonical-request.txt
 3297   3961   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-canonical-request.txt
 3298   3962   
index ecf494a..68450fe 100644
 3299   3963   
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
 3300   3964   
new file mode 100644
 3301   3965   
index 0000000..9df2eb3
 3302         -
-- /dev/null
        3966  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signature.txt
 3303   3967   
@@ -0,0 +1 @@
        3968  +
3045022044e0c722f2d02673c326d0ac38aae57e2877e158b700de702e5dd082be680f65022100841bb5007fb5ece1078add2bf38e84f1b7ea13e67b935d1fd021014eedee46a4
              \
 No newline at end of file
 3304   3969   
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
 3305   3970   
new file mode 100644
 3306   3971   
index 0000000..62f8cb7
 3307         -
-- /dev/null
        3972  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signed-request.txt
 3308   3973   
@@ -0,0 +1,7 @@
        3974  +
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
        3975  +
Host:example.amazonaws.com
        3976  +
My-Header1:value4
        3977  +
My-Header1:value1
        3978  +
My-Header1:value3
        3979  +
My-Header1:value2
        3980  +
 3309   3981   
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
 3310   3982   
similarity index 99%
 3311   3983   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-string-to-sign.txt
 3312   3984   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-string-to-sign.txt
 3313   3985   
index b584179..2bcf7b1 100644
 3314   3986   
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
 3315   3987   
similarity index 80%
 3316   3988   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
 3317   3989   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3318   3990   
index f7bd9e6..2c6f49d 100644
 3319         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
        3991  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3320   3992   
@@ -1,7 +1,6 @@
 3321   3993   
GET / HTTP/1.1
 3322   3994   
Host:example.amazonaws.com
 3323   3995   
My-Header1:value4
 3324   3996   
My-Header1:value1
 3325   3997   
My-Header1:value3
 3326   3998   
My-Header1:value2
 3327         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3328   3999   
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
 3329   4000   
new file mode 100644
 3330   4001   
index 0000000..0468d80
 3331         -
-- /dev/null
        4002  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/context.json
 3332   4003   
@@ -0,0 +1,12 @@
        4004  +
{
        4005  +
    "credentials": {
        4006  +
        "access_key_id": "AKIDEXAMPLE",
        4007  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4008  +
    },
        4009  +
    "expiration_in_seconds": 3600,
        4010  +
    "normalize": true,
        4011  +
    "region": "us-east-1",
        4012  +
    "service": "service",
        4013  +
    "sign_body": false,
        4014  +
    "timestamp": "2015-08-30T12:36:00Z"
        4015  +
}
              \
 No newline at end of file
 3333   4016   
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
 3334   4017   
similarity index 99%
 3335   4018   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-canonical-request.txt
 3336   4019   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-canonical-request.txt
 3337   4020   
index e91e952..94b6be5 100644
 3338   4021   
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
 3339   4022   
new file mode 100644
 3340   4023   
index 0000000..bf8c3cb
 3341         -
-- /dev/null
        4024  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signature.txt
 3342   4025   
@@ -0,0 +1 @@
        4026  +
3046022100f05cfb8a9a49ee4540c49ed27e612ddd1a2d168512bad65a96cdf8378254a4bd022100a3eb663e6734125d467fc00d5a41dc6bf476ec167d5c20657ff3135c8b4f7815
              \
 No newline at end of file
 3343   4027   
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
 3344   4028   
new file mode 100644
 3345   4029   
index 0000000..f7f054d
 3346         -
-- /dev/null
        4030  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signed-request.txt
 3347   4031   
@@ -0,0 +1,8 @@
        4032  +
GET / HTTP/1.1
        4033  +
Host:example.amazonaws.com
        4034  +
My-Header1: value1
        4035  +
My-Header2: "a   b   c"
        4036  +
X-Amz-Date:20150830T123600Z
        4037  +
X-Amz-Region-Set:us-east-1
        4038  +
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
        4039  +
 3348   4040   
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
 3349   4041   
similarity index 99%
 3350   4042   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-string-to-sign.txt
 3351   4043   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-string-to-sign.txt
 3352   4044   
index 0e407d8..a2c9c05 100644
 3353   4045   
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
 3354   4046   
new file mode 100644
 3355   4047   
index 0000000..379dcb2
 3356         -
-- /dev/null
        4048  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/public-key.json
 3357   4049   
@@ -0,0 +1,4 @@
        4050  +
{
        4051  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4052  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4053  +
}
 3358   4054   
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
 3359   4055   
similarity index 99%
 3360   4056   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-canonical-request.txt
 3361   4057   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-canonical-request.txt
 3362   4058   
index 8a3b042..3a51150 100644
 3363   4059   
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
 3364   4060   
new file mode 100644
 3365   4061   
index 0000000..0033053
 3366         -
-- /dev/null
        4062  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signature.txt
 3367   4063   
@@ -0,0 +1 @@
        4064  +
3045022100a765fa4e0a2c5d56292cc9aa654332858bcbb2af27b8c488157113f2c084776b02206145afa6dbb99993e499863fa36e592b94ddaeefbd778a473348204f26c15547
              \
 No newline at end of file
 3368   4065   
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
 3369   4066   
new file mode 100644
 3370   4067   
index 0000000..1537888
 3371         -
-- /dev/null
        4068  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signed-request.txt
 3372   4069   
@@ -0,0 +1,5 @@
        4070  +
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
        4071  +
Host:example.amazonaws.com
        4072  +
My-Header1: value1
        4073  +
My-Header2: "a   b   c"
        4074  +
 3373   4075   
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
 3374   4076   
similarity index 99%
 3375   4077   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-string-to-sign.txt
 3376   4078   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-string-to-sign.txt
 3377   4079   
index 5eead25..633dc1f 100644
 3378   4080   
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
 3379   4081   
similarity index 75%
 3380   4082   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
 3381   4083   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3382   4084   
index 901f36c..ad1ea98 100644
 3383         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
        4085  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3384   4086   
@@ -1,5 +1,4 @@
 3385   4087   
GET / HTTP/1.1
 3386   4088   
Host:example.amazonaws.com
 3387   4089   
My-Header1: value1
 3388   4090   
My-Header2: "a   b   c"
 3389         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3390   4091   
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
 3391   4092   
new file mode 100644
 3392   4093   
index 0000000..0468d80
 3393         -
-- /dev/null
        4094  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/context.json
 3394   4095   
@@ -0,0 +1,12 @@
        4096  +
{
        4097  +
    "credentials": {
        4098  +
        "access_key_id": "AKIDEXAMPLE",
        4099  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4100  +
    },
        4101  +
    "expiration_in_seconds": 3600,
        4102  +
    "normalize": true,
        4103  +
    "region": "us-east-1",
        4104  +
    "service": "service",
        4105  +
    "sign_body": false,
        4106  +
    "timestamp": "2015-08-30T12:36:00Z"
        4107  +
}
              \
 No newline at end of file
 3395   4108   
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
 3396   4109   
similarity index 99%
 3397   4110   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-canonical-request.txt
 3398   4111   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-canonical-request.txt
 3399   4112   
index 47e7128..76db73d 100644
 3400   4113   
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
 3401   4114   
new file mode 100644
 3402   4115   
index 0000000..cbd6ae2
 3403         -
-- /dev/null
        4116  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signature.txt
 3404   4117   
@@ -0,0 +1 @@
        4118  +
3045022002e5e766e09de198957182589c9abe3e7ccd00a8fc6d7bbaf5f0a2c10660d16a022100e6b0835731cd5b72d5abb50e5821d90f5f713339697eb65cf40d34a3facfdbb8
              \
 No newline at end of file
 3405   4119   
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
 3406   4120   
new file mode 100644
 3407   4121   
index 0000000..a343fcf
 3408         -
-- /dev/null
        4122  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signed-request.txt
 3409   4123   
@@ -0,0 +1,6 @@
        4124  +
GET /example/.. HTTP/1.1
        4125  +
Host:example.amazonaws.com
        4126  +
X-Amz-Date:20150830T123600Z
        4127  +
X-Amz-Region-Set:us-east-1
        4128  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206ccd591952cdb4a0a002217788234c80eac520f890b0a6ea07b98044f08ba10e0220733126caf0347f7df89773f79b9fae2648ca786e67a7d88ec296d66452da4bec
        4129  +
 3410   4130   
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
 3411   4131   
similarity index 99%
 3412   4132   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-string-to-sign.txt
 3413   4133   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-string-to-sign.txt
 3414   4134   
index 95d7219..600f1d8 100644
 3415   4135   
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
 3416   4136   
new file mode 100644
 3417   4137   
index 0000000..379dcb2
 3418         -
-- /dev/null
        4138  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/public-key.json
 3419   4139   
@@ -0,0 +1,4 @@
        4140  +
{
        4141  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4142  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4143  +
}
 3420   4144   
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
 3421   4145   
similarity index 99%
 3422   4146   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-canonical-request.txt
 3423   4147   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-canonical-request.txt
 3424   4148   
index a34ea26..779c51c 100644
 3425   4149   
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
 3426   4150   
new file mode 100644
 3427   4151   
index 0000000..3cc88e6
 3428         -
-- /dev/null
        4152  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signature.txt
 3429   4153   
@@ -0,0 +1 @@
        4154  +
304402200ef7c6ac7bfaaddbf4df3a4b03ab2e4e24e992d305fa133ef0f6c826ad9850e602203ef21f22e239cd1971310c404c80d6e50c5cd06eae1452695ae762d1a9a51c90
              \
 No newline at end of file
 3430   4155   
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
 3431   4156   
new file mode 100644
 3432   4157   
index 0000000..f68dde8
 3433         -
-- /dev/null
        4158  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signed-request.txt
 3434   4159   
@@ -0,0 +1,3 @@
        4160  +
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
        4161  +
Host:example.amazonaws.com
        4162  +
 3435   4163   
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
 3436   4164   
similarity index 99%
 3437   4165   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-string-to-sign.txt
 3438   4166   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-string-to-sign.txt
 3439   4167   
index 48f855c..6e29a7e 100644
 3440   4168   
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
 3441   4169   
similarity index 65%
 3442   4170   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
 3443   4171   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3444   4172   
index 9d6d7ca..6aa9f99 100644
 3445         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
        4173  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3446   4174   
@@ -1,3 +1,2 @@
 3447   4175   
GET /example/.. HTTP/1.1
 3448   4176   
Host:example.amazonaws.com
 3449         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3450   4177   
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
 3451   4178   
new file mode 100644
 3452   4179   
index 0000000..0468d80
 3453         -
-- /dev/null
        4180  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/context.json
 3454   4181   
@@ -0,0 +1,12 @@
        4182  +
{
        4183  +
    "credentials": {
        4184  +
        "access_key_id": "AKIDEXAMPLE",
        4185  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4186  +
    },
        4187  +
    "expiration_in_seconds": 3600,
        4188  +
    "normalize": true,
        4189  +
    "region": "us-east-1",
        4190  +
    "service": "service",
        4191  +
    "sign_body": false,
        4192  +
    "timestamp": "2015-08-30T12:36:00Z"
        4193  +
}
              \
 No newline at end of file
 3455   4194   
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
 3456   4195   
similarity index 99%
 3457   4196   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-canonical-request.txt
 3458   4197   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-canonical-request.txt
 3459   4198   
index 47e7128..76db73d 100644
 3460   4199   
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
 3461   4200   
new file mode 100644
 3462   4201   
index 0000000..f7a7ebe
 3463         -
-- /dev/null
        4202  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signature.txt
 3464   4203   
@@ -0,0 +1 @@
        4204  +
3046022100ea029ea1e7b8715f67cd33b8536e013e53e9c7bcd109770f29a4a28767bb2212022100c95a298283c130266a4c8457590d8c047205b4aef9266b85deeb90e5c73e5caa
              \
 No newline at end of file
 3465   4205   
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
 3466   4206   
new file mode 100644
 3467   4207   
index 0000000..9d2c50d
 3468         -
-- /dev/null
        4208  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signed-request.txt
 3469   4209   
@@ -0,0 +1,6 @@
        4210  +
GET /example1/example2/../.. HTTP/1.1
        4211  +
Host:example.amazonaws.com
        4212  +
X-Amz-Date:20150830T123600Z
        4213  +
X-Amz-Region-Set:us-east-1
        4214  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203edb747d59fe32db47529b2e5e02c9276759b7c43ad9e36ff62d52b8dbeb00e3022007f99e8601938b893fe6dcbac9259fec2f3797b0e3d74fd66d59b09e83b8c1d4
        4215  +
 3470   4216   
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
 3471   4217   
similarity index 99%
 3472   4218   
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
 3473   4219   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-string-to-sign.txt
 3474   4220   
index 95d7219..600f1d8 100644
 3475   4221   
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
 3476   4222   
new file mode 100644
 3477   4223   
index 0000000..379dcb2
 3478         -
-- /dev/null
        4224  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/public-key.json
 3479   4225   
@@ -0,0 +1,4 @@
        4226  +
{
        4227  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4228  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4229  +
}
 3480   4230   
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
 3481   4231   
similarity index 99%
 3482   4232   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-canonical-request.txt
 3483   4233   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-canonical-request.txt
 3484   4234   
index a34ea26..779c51c 100644
 3485   4235   
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
 3486   4236   
new file mode 100644
 3487   4237   
index 0000000..45ef286
 3488         -
-- /dev/null
        4238  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signature.txt
 3489   4239   
@@ -0,0 +1 @@
        4240  +
304402200afc56cdc43e814e44408999f2fb2fe0f8992877345b09e402b28fb2063e4987022035cdba28f5462e9034f45fc5f879bd2305943f9a1830b0f7fbe6468658ba52c1
              \
 No newline at end of file
 3490   4241   
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
 3491   4242   
new file mode 100644
 3492   4243   
index 0000000..0d16f66
 3493         -
-- /dev/null
        4244  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signed-request.txt
 3494   4245   
@@ -0,0 +1,3 @@
        4246  +
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
        4247  +
Host:example.amazonaws.com
        4248  +
 3495   4249   
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
 3496   4250   
similarity index 99%
 3497   4251   
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
 3498   4252   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-string-to-sign.txt
 3499   4253   
index 48f855c..6e29a7e 100644
 3500   4254   
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
 3501   4255   
similarity index 70%
 3502   4256   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
 3503   4257   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3504   4258   
index cfd4e8b..a856c10 100644
 3505         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
        4259  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3506   4260   
@@ -1,3 +1,2 @@
 3507   4261   
GET /example1/example2/../.. HTTP/1.1
 3508   4262   
Host:example.amazonaws.com
 3509         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3510   4263   
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
 3511   4264   
new file mode 100644
 3512   4265   
index 0000000..7bee5c7
 3513         -
-- /dev/null
        4266  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/context.json
 3514   4267   
@@ -0,0 +1,12 @@
        4268  +
{
        4269  +
    "credentials": {
        4270  +
        "access_key_id": "AKIDEXAMPLE",
        4271  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4272  +
    },
        4273  +
    "expiration_in_seconds": 3600,
        4274  +
    "normalize": false,
        4275  +
    "region": "us-east-1",
        4276  +
    "service": "service",
        4277  +
    "sign_body": false,
        4278  +
    "timestamp": "2015-08-30T12:36:00Z"
        4279  +
}
              \
 No newline at end of file
 3515   4280   
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
 3516   4281   
similarity index 99%
 3517   4282   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-canonical-request.txt
 3518   4283   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-canonical-request.txt
 3519   4284   
index 5e1d1cf..e4e6d57 100644
 3520   4285   
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
 3521   4286   
new file mode 100644
 3522   4287   
index 0000000..2d1b47c
 3523         -
-- /dev/null
        4288  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signature.txt
 3524   4289   
@@ -0,0 +1 @@
        4290  +
30450221009bf86ef8b148904a938fcc5a050aa99cb99cb6a3436a62badfef1b82977d95c4022053e3c11e10fb302a2c39c253b066530404ee5fcca63bf962facd8d072817a69d
              \
 No newline at end of file
 3525   4291   
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
 3526   4292   
new file mode 100644
 3527   4293   
index 0000000..7158179
 3528         -
-- /dev/null
        4294  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signed-request.txt
 3529   4295   
@@ -0,0 +1,6 @@
        4296  +
GET /example1/example2/../.. HTTP/1.1
        4297  +
Host:example.amazonaws.com
        4298  +
X-Amz-Date:20150830T123600Z
        4299  +
X-Amz-Region-Set:us-east-1
        4300  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402205651d45d4f377407303dba0775405efa77683821adff20c0256b94d10710de5b022053fa72420652c55327876c5105da6770cb482f55533e1b0bd7d15fa75f570e46
        4301  +
 3530   4302   
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
 3531   4303   
similarity index 99%
 3532   4304   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-string-to-sign.txt
 3533   4305   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-string-to-sign.txt
 3534   4306   
index 1cca6cf..db60c8e 100644
 3535   4307   
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
 3536   4308   
new file mode 100644
 3537   4309   
index 0000000..379dcb2
 3538         -
-- /dev/null
        4310  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/public-key.json
 3539   4311   
@@ -0,0 +1,4 @@
        4312  +
{
        4313  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4314  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4315  +
}
 3540   4316   
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
 3541   4317   
similarity index 99%
 3542   4318   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-canonical-request.txt
 3543   4319   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-canonical-request.txt
 3544   4320   
index 95dc104..0d963ba 100644
 3545   4321   
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
 3546   4322   
new file mode 100644
 3547   4323   
index 0000000..ae774e4
 3548         -
-- /dev/null
        4324  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signature.txt
 3549   4325   
@@ -0,0 +1 @@
        4326  +
3046022100a11cd4cae39a6b3553651f9c6360898278d90a3cb8f736184ff6bdb8564decbc022100d86a34623cc34890750a7fe8a30948638f6dace0e558c3ff82a0cf6256067503
              \
 No newline at end of file
 3550   4327   
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
 3551   4328   
new file mode 100644
 3552   4329   
index 0000000..be6b86e
 3553         -
-- /dev/null
        4330  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signed-request.txt
 3554   4331   
@@ -0,0 +1,3 @@
        4332  +
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
        4333  +
Host:example.amazonaws.com
        4334  +
 3555   4335   
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
 3556   4336   
similarity index 99%
 3557   4337   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-string-to-sign.txt
 3558   4338   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-string-to-sign.txt
 3559   4339   
index 50edce6..fcc70cd 100644
 3560   4340   
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
 3561   4341   
new file mode 100644
 3562   4342   
index 0000000..a856c10
 3563         -
-- /dev/null
        4343  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/request.txt
 3564   4344   
@@ -0,0 +1,2 @@
        4345  +
GET /example1/example2/../.. HTTP/1.1
        4346  +
Host:example.amazonaws.com
 3565   4347   
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
 3566   4348   
new file mode 100644
 3567   4349   
index 0000000..7bee5c7
 3568         -
-- /dev/null
        4350  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/context.json
 3569   4351   
@@ -0,0 +1,12 @@
        4352  +
{
        4353  +
    "credentials": {
        4354  +
        "access_key_id": "AKIDEXAMPLE",
        4355  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4356  +
    },
        4357  +
    "expiration_in_seconds": 3600,
        4358  +
    "normalize": false,
        4359  +
    "region": "us-east-1",
        4360  +
    "service": "service",
        4361  +
    "sign_body": false,
        4362  +
    "timestamp": "2015-08-30T12:36:00Z"
        4363  +
}
              \
 No newline at end of file
 3570   4364   
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
 3571   4365   
similarity index 99%
 3572   4366   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-canonical-request.txt
 3573   4367   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-canonical-request.txt
 3574   4368   
index d6a0abe..22def1a 100644
 3575   4369   
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
 3576   4370   
new file mode 100644
 3577   4371   
index 0000000..9251bad
 3578         -
-- /dev/null
        4372  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signature.txt
 3579   4373   
@@ -0,0 +1 @@
        4374  +
3045022100a85167a37a2c6aea42ef9dcb0dcaeaf85ca4ef1a4d8ffea5be550dbd4573471902202193760e5e6bb1ee4aff836769b9739f4563e06749bcaa7553ec1d1377aa5a6d
              \
 No newline at end of file
 3580   4375   
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
 3581   4376   
new file mode 100644
 3582   4377   
index 0000000..f1bb60f
 3583         -
-- /dev/null
        4378  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signed-request.txt
 3584   4379   
@@ -0,0 +1,6 @@
        4380  +
GET /example/.. HTTP/1.1
        4381  +
Host:example.amazonaws.com
        4382  +
X-Amz-Date:20150830T123600Z
        4383  +
X-Amz-Region-Set:us-east-1
        4384  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402201430c834d8a89aca13ebd785da338950559f71ab29f1b7d7b4ad6b090de1a09702206c8d6089b75105d6fc5df5374bbb8abbc33b78951c95b90f9f6c25a657b58ce6
        4385  +
 3585   4386   
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
 3586   4387   
similarity index 99%
 3587   4388   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-string-to-sign.txt
 3588   4389   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-string-to-sign.txt
 3589   4390   
index 4a34e93..5673a20 100644
 3590   4391   
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
 3591   4392   
new file mode 100644
 3592   4393   
index 0000000..379dcb2
 3593         -
-- /dev/null
        4394  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/public-key.json
 3594   4395   
@@ -0,0 +1,4 @@
        4396  +
{
        4397  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4398  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4399  +
}
 3595   4400   
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
 3596   4401   
similarity index 99%
 3597   4402   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-canonical-request.txt
 3598   4403   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-canonical-request.txt
 3599   4404   
index b1d123e..a1c22e0 100644
 3600   4405   
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
 3601   4406   
new file mode 100644
 3602   4407   
index 0000000..9f0f686
 3603         -
-- /dev/null
        4408  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signature.txt
 3604   4409   
@@ -0,0 +1 @@
        4410  +
3045022074d05647e395d4bf3d751953c7242ee27dd16fbae3f604a272d3acc3d72ba5fb022100ddccd95ac05f60f10d5e95c5847b49018bbfa1084361bf338964408cc2162fff
              \
 No newline at end of file
 3605   4411   
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
 3606   4412   
new file mode 100644
 3607   4413   
index 0000000..d1d451a
 3608         -
-- /dev/null
        4414  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signed-request.txt
 3609   4415   
@@ -0,0 +1,3 @@
        4416  +
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
        4417  +
Host:example.amazonaws.com
        4418  +
 3610   4419   
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
 3611   4420   
similarity index 99%
 3612   4421   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-string-to-sign.txt
 3613   4422   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-string-to-sign.txt
 3614   4423   
index a17f5ab..81b41e8 100644
 3615   4424   
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
 3616   4425   
new file mode 100644
 3617   4426   
index 0000000..6aa9f99
 3618         -
-- /dev/null
        4427  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/request.txt
 3619   4428   
@@ -0,0 +1,2 @@
        4429  +
GET /example/.. HTTP/1.1
        4430  +
Host:example.amazonaws.com
 3620   4431   
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
 3621   4432   
new file mode 100644
 3622   4433   
index 0000000..0468d80
 3623         -
-- /dev/null
        4434  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/context.json
 3624   4435   
@@ -0,0 +1,12 @@
        4436  +
{
        4437  +
    "credentials": {
        4438  +
        "access_key_id": "AKIDEXAMPLE",
        4439  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4440  +
    },
        4441  +
    "expiration_in_seconds": 3600,
        4442  +
    "normalize": true,
        4443  +
    "region": "us-east-1",
        4444  +
    "service": "service",
        4445  +
    "sign_body": false,
        4446  +
    "timestamp": "2015-08-30T12:36:00Z"
        4447  +
}
              \
 No newline at end of file
 3625   4448   
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
 3626   4449   
similarity index 99%
 3627   4450   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-canonical-request.txt
 3628   4451   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-canonical-request.txt
 3629   4452   
index 47e7128..76db73d 100644
 3630   4453   
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
 3631   4454   
new file mode 100644
 3632   4455   
index 0000000..ca6e84e
 3633         -
-- /dev/null
        4456  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signature.txt
 3634   4457   
@@ -0,0 +1 @@
        4458  +
3045022100e8ed39e8b964e06162ab1cddbff57c449a9b72e2d052a7a3e12a116ae30185ee022003e6eb0fddbaa586225b26877ab145e05a08ac418ef7c966e5daef258b70cbfc
              \
 No newline at end of file
 3635   4459   
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
 3636   4460   
new file mode 100644
 3637   4461   
index 0000000..a7c764c
 3638         -
-- /dev/null
        4462  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signed-request.txt
 3639   4463   
@@ -0,0 +1,6 @@
        4464  +
GET /./ HTTP/1.1
        4465  +
Host:example.amazonaws.com
        4466  +
X-Amz-Date:20150830T123600Z
        4467  +
X-Amz-Region-Set:us-east-1
        4468  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207665172b8612dbbd2c1f3c722c52b7b8dac2cdc5203d86252e21d9610018b153022100c548f3f0c23beeb388f8c8138ce1e883e2cdf2be1d7c5d7c15d4e565bfd6b0dd
        4469  +
 3640   4470   
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
 3641   4471   
similarity index 99%
 3642   4472   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-string-to-sign.txt
 3643   4473   
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
 3644   4474   
index 95d7219..600f1d8 100644
 3645   4475   
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
 3646   4476   
new file mode 100644
 3647   4477   
index 0000000..379dcb2
 3648         -
-- /dev/null
        4478  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/public-key.json
 3649   4479   
@@ -0,0 +1,4 @@
        4480  +
{
        4481  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4482  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4483  +
}
 3650   4484   
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
 3651   4485   
similarity index 99%
 3652   4486   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-canonical-request.txt
 3653   4487   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-canonical-request.txt
 3654   4488   
index a34ea26..779c51c 100644
 3655   4489   
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
 3656   4490   
new file mode 100644
 3657   4491   
index 0000000..4b6ed09
 3658         -
-- /dev/null
        4492  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signature.txt
 3659   4493   
@@ -0,0 +1 @@
        4494  +
3046022100ea775dcca84dbada39eb9e7d55183c31d7294d1826d965c2ade1730bd20ac7cb022100aaab5325eed9bb3f93814af0fd0170893cbeeff052d0bb554f91a394fd2f5135
              \
 No newline at end of file
 3660   4495   
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
 3661   4496   
new file mode 100644
 3662   4497   
index 0000000..d6c7176
 3663         -
-- /dev/null
        4498  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signed-request.txt
 3664   4499   
@@ -0,0 +1,3 @@
        4500  +
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
        4501  +
Host:example.amazonaws.com
        4502  +
 3665   4503   
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
 3666   4504   
similarity index 99%
 3667   4505   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-string-to-sign.txt
 3668   4506   
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
 3669   4507   
index 48f855c..6e29a7e 100644
 3670   4508   
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
 3671   4509   
similarity index 61%
 3672   4510   
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
 3673   4511   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3674   4512   
index f3537b7..2c5ff38 100644
 3675         -
-- 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
        4513  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3676   4514   
@@ -1,3 +1,2 @@
 3677   4515   
GET /./ HTTP/1.1
 3678   4516   
Host:example.amazonaws.com
 3679         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3680   4517   
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
 3681   4518   
new file mode 100644
 3682   4519   
index 0000000..7bee5c7
 3683         -
-- /dev/null
        4520  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/context.json
 3684   4521   
@@ -0,0 +1,12 @@
        4522  +
{
        4523  +
    "credentials": {
        4524  +
        "access_key_id": "AKIDEXAMPLE",
        4525  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4526  +
    },
        4527  +
    "expiration_in_seconds": 3600,
        4528  +
    "normalize": false,
        4529  +
    "region": "us-east-1",
        4530  +
    "service": "service",
        4531  +
    "sign_body": false,
        4532  +
    "timestamp": "2015-08-30T12:36:00Z"
        4533  +
}
              \
 No newline at end of file
 3685   4534   
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
 3686   4535   
similarity index 99%
 3687   4536   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3688   4537   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3689   4538   
index d05303d..9257ac4 100644
 3690   4539   
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
 3691   4540   
new file mode 100644
 3692   4541   
index 0000000..2eb1aa5
 3693         -
-- /dev/null
        4542  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signature.txt
 3694   4543   
@@ -0,0 +1 @@
        4544  +
30450220430660fe6e8e04ee055a2c56476dcf95c00b3efca267823134664f90a23fdc0f022100f188106c83e13a89e6a487f24d23522520f7a15c40e3aacd0c32284da42c2f5a
              \
 No newline at end of file
 3695   4545   
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
 3696   4546   
new file mode 100644
 3697   4547   
index 0000000..df3b1da
 3698         -
-- /dev/null
        4548  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signed-request.txt
 3699   4549   
@@ -0,0 +1,6 @@
        4550  +
GET /./ HTTP/1.1
        4551  +
Host:example.amazonaws.com
        4552  +
X-Amz-Date:20150830T123600Z
        4553  +
X-Amz-Region-Set:us-east-1
        4554  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022049aaa02168ac9666a94f42238be0a02a7a244b74d6e16bdf64aac7ce8e21e44d02206b9be50186bdd4ee9191c0dd5ccff7e990365bb3b56430653f6fa49a68dbf596
        4555  +
 3700   4556   
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
 3701   4557   
similarity index 99%
 3702   4558   
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
 3703   4559   
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
 3704   4560   
index e1bfb39..754b3ed 100644
 3705   4561   
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
 3706   4562   
new file mode 100644
 3707   4563   
index 0000000..379dcb2
 3708         -
-- /dev/null
        4564  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/public-key.json
 3709   4565   
@@ -0,0 +1,4 @@
        4566  +
{
        4567  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4568  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4569  +
}
 3710   4570   
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
 3711   4571   
similarity index 99%
 3712   4572   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3713   4573   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3714   4574   
index f048d0f..c8edce3 100644
 3715   4575   
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
 3716   4576   
new file mode 100644
 3717   4577   
index 0000000..d3af3b8
 3718         -
-- /dev/null
        4578  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signature.txt
 3719   4579   
@@ -0,0 +1 @@
        4580  +
304402207999228e5213710741e030ffa7dfa83ce3676384c5df044431bc854488a08abd0220248ff8a956bbcbc641c0ec4a7853774f44112b1571f861fc5aebf78282fd7e63
              \
 No newline at end of file
 3720   4581   
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
 3721   4582   
new file mode 100644
 3722   4583   
index 0000000..eb38155
 3723         -
-- /dev/null
        4584  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signed-request.txt
 3724   4585   
@@ -0,0 +1,3 @@
        4586  +
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
        4587  +
Host:example.amazonaws.com
        4588  +
 3725   4589   
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
 3726   4590   
similarity index 99%
 3727   4591   
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
 3728   4592   
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
 3729   4593   
index bfcf245..4f20b8f 100644
 3730   4594   
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
 3731   4595   
new file mode 100644
 3732   4596   
index 0000000..2c5ff38
 3733         -
-- /dev/null
        4597  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/request.txt
 3734   4598   
@@ -0,0 +1,2 @@
        4599  +
GET /./ HTTP/1.1
        4600  +
Host:example.amazonaws.com
 3735   4601   
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
 3736   4602   
new file mode 100644
 3737   4603   
index 0000000..0468d80
 3738         -
-- /dev/null
        4604  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/context.json
 3739   4605   
@@ -0,0 +1,12 @@
        4606  +
{
        4607  +
    "credentials": {
        4608  +
        "access_key_id": "AKIDEXAMPLE",
        4609  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4610  +
    },
        4611  +
    "expiration_in_seconds": 3600,
        4612  +
    "normalize": true,
        4613  +
    "region": "us-east-1",
        4614  +
    "service": "service",
        4615  +
    "sign_body": false,
        4616  +
    "timestamp": "2015-08-30T12:36:00Z"
        4617  +
}
              \
 No newline at end of file
 3740   4618   
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
 3741   4619   
similarity index 99%
 3742   4620   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-canonical-request.txt
 3743   4621   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-canonical-request.txt
 3744   4622   
index 47e7128..76db73d 100644
 3745   4623   
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
 3746   4624   
new file mode 100644
 3747   4625   
index 0000000..0c049ca
 3748         -
-- /dev/null
        4626  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signature.txt
 3749   4627   
@@ -0,0 +1 @@
        4628  +
304602210084a7310186a866f81dbe8e546f6931dd7c61586d30664d5c11f5904836f72cfd022100c7d80abdccceb1cbcdbbda8b4f3f0ae1ac6229dce800b21ba8298c582fa96a1c
              \
 No newline at end of file
 3750   4629   
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
 3751   4630   
new file mode 100644
 3752   4631   
index 0000000..f4bb1e1
 3753         -
-- /dev/null
        4632  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signed-request.txt
 3754   4633   
@@ -0,0 +1,6 @@
        4634  +
GET // HTTP/1.1
        4635  +
Host:example.amazonaws.com
        4636  +
X-Amz-Date:20150830T123600Z
        4637  +
X-Amz-Region-Set:us-east-1
        4638  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207c7fe2e91cdbe4529569d58fc3727507375cff81a56cfa26b387895ab6cdbb25022100d38e283efa5ff27d88f10e7367493b1dc49050ba9474531e4acb3ee30fac3739
        4639  +
 3755   4640   
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
 3756   4641   
similarity index 99%
 3757   4642   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-string-to-sign.txt
 3758   4643   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-string-to-sign.txt
 3759   4644   
index 95d7219..600f1d8 100644
 3760   4645   
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
 3761   4646   
new file mode 100644
 3762   4647   
index 0000000..379dcb2
 3763         -
-- /dev/null
        4648  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/public-key.json
 3764   4649   
@@ -0,0 +1,4 @@
        4650  +
{
        4651  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4652  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4653  +
}
 3765   4654   
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
 3766   4655   
similarity index 99%
 3767   4656   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-canonical-request.txt
 3768   4657   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-canonical-request.txt
 3769   4658   
index a34ea26..779c51c 100644
 3770   4659   
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
 3771   4660   
new file mode 100644
 3772   4661   
index 0000000..ca52293
 3773         -
-- /dev/null
        4662  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signature.txt
 3774   4663   
@@ -0,0 +1 @@
        4664  +
3045022100b1c08ec4e9a6313f2de7bd8ce726845ea7a3cc636a21ab7258a3067836a6601b02206b76d7a9845bfb683eb30d126a1dc4657e8b64762d4bfb976da9fa132c4a9bd7
              \
 No newline at end of file
 3775   4665   
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
 3776   4666   
new file mode 100644
 3777   4667   
index 0000000..4a212a9
 3778         -
-- /dev/null
        4668  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signed-request.txt
 3779   4669   
@@ -0,0 +1,3 @@
        4670  +
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
        4671  +
Host:example.amazonaws.com
        4672  +
 3780   4673   
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
 3781   4674   
similarity index 99%
 3782   4675   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-string-to-sign.txt
 3783   4676   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-string-to-sign.txt
 3784   4677   
index 48f855c..6e29a7e 100644
 3785   4678   
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
 3786   4679   
similarity index 61%
 3787   4680   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
 3788   4681   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 3789   4682   
index ede8e3c..25bc21e 100644
 3790         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
        4683  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 3791   4684   
@@ -1,3 +1,2 @@
 3792   4685   
GET // HTTP/1.1
 3793   4686   
Host:example.amazonaws.com
 3794         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3795   4687   
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
 3796   4688   
new file mode 100644
 3797   4689   
index 0000000..0468d80
 3798         -
-- /dev/null
        4690  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/context.json
 3799   4691   
@@ -0,0 +1,12 @@
        4692  +
{
        4693  +
    "credentials": {
        4694  +
        "access_key_id": "AKIDEXAMPLE",
        4695  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4696  +
    },
        4697  +
    "expiration_in_seconds": 3600,
        4698  +
    "normalize": true,
        4699  +
    "region": "us-east-1",
        4700  +
    "service": "service",
        4701  +
    "sign_body": false,
        4702  +
    "timestamp": "2015-08-30T12:36:00Z"
        4703  +
}
              \
 No newline at end of file
 3800   4704   
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
 3801   4705   
similarity index 99%
 3802   4706   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-canonical-request.txt
 3803   4707   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-canonical-request.txt
 3804   4708   
index 2e36c20..a51f1ba 100644
 3805   4709   
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
 3806   4710   
new file mode 100644
 3807   4711   
index 0000000..f5c871f
 3808         -
-- /dev/null
        4712  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signature.txt
 3809   4713   
@@ -0,0 +1 @@
        4714  +
304502206b0f9b99fe4e4b3bbcb69dd6ca076c847e676161b6fb4cd2bc776f357ece3d07022100fafc5606c7b1a45aa6ce6a7a3a68b07875315b8f952f9a192a420e407e8d1cef
              \
 No newline at end of file
 3810   4715   
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
 3811   4716   
new file mode 100644
 3812   4717   
index 0000000..bda4718
 3813         -
-- /dev/null
        4718  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signed-request.txt
 3814   4719   
@@ -0,0 +1,6 @@
        4720  +
GET /./example HTTP/1.1
        4721  +
Host:example.amazonaws.com
        4722  +
X-Amz-Date:20150830T123600Z
        4723  +
X-Amz-Region-Set:us-east-1
        4724  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221008cb5fa4d42bdd0c293d58ce748128be3a41693d25cfd701e281bf0c0bc28f41a022100b863217c8f05146ff1b4282706bc78781b1425c2d36a09127116e852e31fc974
        4725  +
 3815   4726   
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
 3816   4727   
similarity index 99%
 3817   4728   
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
 3818   4729   
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
 3819   4730   
index cd30e8b..2ffe879 100644
 3820   4731   
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
 3821   4732   
new file mode 100644
 3822   4733   
index 0000000..379dcb2
 3823         -
-- /dev/null
        4734  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/public-key.json
 3824   4735   
@@ -0,0 +1,4 @@
        4736  +
{
        4737  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4738  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4739  +
}
 3825   4740   
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
 3826   4741   
similarity index 99%
 3827   4742   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-canonical-request.txt
 3828   4743   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-canonical-request.txt
 3829   4744   
index 77cf28d..45151ea 100644
 3830   4745   
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
 3831   4746   
new file mode 100644
 3832   4747   
index 0000000..11ad7bf
 3833         -
-- /dev/null
        4748  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signature.txt
 3834   4749   
@@ -0,0 +1 @@
        4750  +
3045022004b3d54ffdc33558a93c158a156ef1b50963d051e58ecb88b6809629d6b93860022100d88f70cb68de54e8abc628cb2325bcb32fab1a207d482010955f844812ad5174
              \
 No newline at end of file
 3835   4751   
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
 3836   4752   
new file mode 100644
 3837   4753   
index 0000000..a7537b1
 3838         -
-- /dev/null
        4754  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signed-request.txt
 3839   4755   
@@ -0,0 +1,3 @@
        4756  +
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
        4757  +
Host:example.amazonaws.com
        4758  +
 3840   4759   
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
 3841   4760   
similarity index 99%
 3842   4761   
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
 3843   4762   
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
 3844   4763   
index 49d9b24..b486672 100644
 3845   4764   
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
 3846   4765   
similarity index 65%
 3847   4766   
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
 3848   4767   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 3849   4768   
index 3c91071..5d919c9 100644
 3850         -
-- 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
        4769  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 3851   4770   
@@ -1,3 +1,2 @@
 3852   4771   
GET /./example HTTP/1.1
 3853   4772   
Host:example.amazonaws.com
 3854         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3855   4773   
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
 3856   4774   
new file mode 100644
 3857   4775   
index 0000000..7bee5c7
 3858         -
-- /dev/null
        4776  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/context.json
 3859   4777   
@@ -0,0 +1,12 @@
        4778  +
{
        4779  +
    "credentials": {
        4780  +
        "access_key_id": "AKIDEXAMPLE",
        4781  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4782  +
    },
        4783  +
    "expiration_in_seconds": 3600,
        4784  +
    "normalize": false,
        4785  +
    "region": "us-east-1",
        4786  +
    "service": "service",
        4787  +
    "sign_body": false,
        4788  +
    "timestamp": "2015-08-30T12:36:00Z"
        4789  +
}
              \
 No newline at end of file
 3860   4790   
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
 3861   4791   
similarity index 99%
 3862   4792   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 3863   4793   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 3864   4794   
index 4444842..2355a69 100644
 3865   4795   
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
 3866   4796   
new file mode 100644
 3867   4797   
index 0000000..9c8f737
 3868         -
-- /dev/null
        4798  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signature.txt
 3869   4799   
@@ -0,0 +1 @@
        4800  +
3044022056618e95bf64058b8174e9e52790352380946d9a0a4ab332b530a63f497a80800220105ebcd6c6ee9b034157d21e7c81fdfb72ca640961cee9b49de82e5c1f80ac5e
              \
 No newline at end of file
 3870   4801   
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
 3871   4802   
new file mode 100644
 3872   4803   
index 0000000..aa5980d
 3873         -
-- /dev/null
        4804  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 3874   4805   
@@ -0,0 +1,6 @@
        4806  +
GET /./example HTTP/1.1
        4807  +
Host:example.amazonaws.com
        4808  +
X-Amz-Date:20150830T123600Z
        4809  +
X-Amz-Region-Set:us-east-1
        4810  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221009e2c768ae9904c3d04eba53cfbb7460034029fb1f169b51f82623cc53ae25dc7022100bfe47ecde858ad9ae3311bba5a4fd45fcacdb1795cc6825f0939e5d929a464bf
        4811  +
 3875   4812   
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
 3876   4813   
similarity index 99%
 3877   4814   
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
 3878   4815   
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
 3879   4816   
index cc63510..d056816 100644
 3880   4817   
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
 3881   4818   
new file mode 100644
 3882   4819   
index 0000000..379dcb2
 3883         -
-- /dev/null
        4820  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/public-key.json
 3884   4821   
@@ -0,0 +1,4 @@
        4822  +
{
        4823  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4824  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4825  +
}
 3885   4826   
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
 3886   4827   
similarity index 99%
 3887   4828   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 3888   4829   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 3889   4830   
index ed2cb2d..df9928e 100644
 3890   4831   
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
 3891   4832   
new file mode 100644
 3892   4833   
index 0000000..bb4d86b
 3893         -
-- /dev/null
        4834  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signature.txt
 3894   4835   
@@ -0,0 +1 @@
        4836  +
304502202c31415712324143f4f20aebbd0f8a2fd4fcdd49d68ac95cd6815db3c0e6407b022100cb46cb62bbd024da2e29445c3378a32057b68b272fb2a08c79bfdcbc398505f3
              \
 No newline at end of file
 3895   4837   
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
 3896   4838   
new file mode 100644
 3897   4839   
index 0000000..0061136
 3898         -
-- /dev/null
        4840  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 3899   4841   
@@ -0,0 +1,3 @@
        4842  +
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
        4843  +
Host:example.amazonaws.com
        4844  +
 3900   4845   
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
 3901   4846   
similarity index 99%
 3902   4847   
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
 3903   4848   
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
 3904   4849   
index c9f3b6d..418f2d6 100644
 3905   4850   
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
 3906   4851   
new file mode 100644
 3907   4852   
index 0000000..5d919c9
 3908         -
-- /dev/null
        4853  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/request.txt
 3909   4854   
@@ -0,0 +1,2 @@
        4855  +
GET /./example HTTP/1.1
        4856  +
Host:example.amazonaws.com
 3910   4857   
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
 3911   4858   
new file mode 100644
 3912   4859   
index 0000000..7bee5c7
 3913         -
-- /dev/null
        4860  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/context.json
 3914   4861   
@@ -0,0 +1,12 @@
        4862  +
{
        4863  +
    "credentials": {
        4864  +
        "access_key_id": "AKIDEXAMPLE",
        4865  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4866  +
    },
        4867  +
    "expiration_in_seconds": 3600,
        4868  +
    "normalize": false,
        4869  +
    "region": "us-east-1",
        4870  +
    "service": "service",
        4871  +
    "sign_body": false,
        4872  +
    "timestamp": "2015-08-30T12:36:00Z"
        4873  +
}
              \
 No newline at end of file
 3915   4874   
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
 3916   4875   
similarity index 99%
 3917   4876   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-canonical-request.txt
 3918   4877   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-canonical-request.txt
 3919   4878   
index 8a4d33b..5f809da 100644
 3920   4879   
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
 3921   4880   
new file mode 100644
 3922   4881   
index 0000000..60179e9
 3923         -
-- /dev/null
        4882  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signature.txt
 3924   4883   
@@ -0,0 +1 @@
        4884  +
3046022100fee7e772befdf85d3f9871798d5e08e93ad3f5d5d408b41387ba55714244809b0221008268d33835753dcdbd0a4d149d902eed071c41b70c230ecf56e0120a0f7d72a1
              \
 No newline at end of file
 3925   4885   
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
 3926   4886   
new file mode 100644
 3927   4887   
index 0000000..72bf1b7
 3928         -
-- /dev/null
        4888  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signed-request.txt
 3929   4889   
@@ -0,0 +1,6 @@
        4890  +
GET // HTTP/1.1
        4891  +
Host:example.amazonaws.com
        4892  +
X-Amz-Date:20150830T123600Z
        4893  +
X-Amz-Region-Set:us-east-1
        4894  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022061f03990d40a274470a1621b6e12b64452083a61218be77e48132a965da27377022100cdff18369b7361b1e33bd6cb5b216cdf88d390121447d442f59ccf84eb6489f7
        4895  +
 3930   4896   
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
 3931   4897   
similarity index 99%
 3932   4898   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-string-to-sign.txt
 3933   4899   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-string-to-sign.txt
 3934   4900   
index 874c01c..2b3bf67 100644
 3935   4901   
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
 3936   4902   
new file mode 100644
 3937   4903   
index 0000000..379dcb2
 3938         -
-- /dev/null
        4904  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/public-key.json
 3939   4905   
@@ -0,0 +1,4 @@
        4906  +
{
        4907  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4908  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4909  +
}
 3940   4910   
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
 3941   4911   
similarity index 99%
 3942   4912   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-canonical-request.txt
 3943   4913   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-canonical-request.txt
 3944   4914   
index 81d7b0b..d10ad29 100644
 3945   4915   
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
 3946   4916   
new file mode 100644
 3947   4917   
index 0000000..d9bd824
 3948         -
-- /dev/null
        4918  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signature.txt
 3949   4919   
@@ -0,0 +1 @@
        4920  +
3045022100abcadf84ed6f4bf5c19df3220b13e370ef093e5e7a5a5093c1a796a3de7804710220568ec0dafd60aa764002ce2ac7c89f403b47142dc7e0e48ded1691929488c88e
              \
 No newline at end of file
 3950   4921   
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
 3951   4922   
new file mode 100644
 3952   4923   
index 0000000..19d1d46
 3953         -
-- /dev/null
        4924  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signed-request.txt
 3954   4925   
@@ -0,0 +1,3 @@
        4926  +
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
        4927  +
Host:example.amazonaws.com
        4928  +
 3955   4929   
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
 3956   4930   
similarity index 99%
 3957   4931   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-string-to-sign.txt
 3958   4932   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-string-to-sign.txt
 3959   4933   
index 17e5279..24c8a5e 100644
 3960   4934   
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
 3961   4935   
new file mode 100644
 3962   4936   
index 0000000..25bc21e
 3963         -
-- /dev/null
        4937  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/request.txt
 3964   4938   
@@ -0,0 +1,2 @@
        4939  +
GET // HTTP/1.1
        4940  +
Host:example.amazonaws.com
 3965   4941   
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
 3966   4942   
new file mode 100644
 3967   4943   
index 0000000..0468d80
 3968         -
-- /dev/null
        4944  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/context.json
 3969   4945   
@@ -0,0 +1,12 @@
        4946  +
{
        4947  +
    "credentials": {
        4948  +
        "access_key_id": "AKIDEXAMPLE",
        4949  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4950  +
    },
        4951  +
    "expiration_in_seconds": 3600,
        4952  +
    "normalize": true,
        4953  +
    "region": "us-east-1",
        4954  +
    "service": "service",
        4955  +
    "sign_body": false,
        4956  +
    "timestamp": "2015-08-30T12:36:00Z"
        4957  +
}
              \
 No newline at end of file
 3970   4958   
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
 3971   4959   
similarity index 99%
 3972   4960   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-canonical-request.txt
 3973   4961   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-canonical-request.txt
 3974   4962   
index fdf9c48..a8e9e02 100644
 3975   4963   
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
 3976   4964   
new file mode 100644
 3977   4965   
index 0000000..ffe1b60
 3978         -
-- /dev/null
        4966  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signature.txt
 3979   4967   
@@ -0,0 +1 @@
        4968  +
304402205dd203fd6b973e5fb088569ec27db1e267ef4a728f177e88fcc65f299255c0ab02206da878f40c64094595aa4e808849b69025f1c9b9f4be0f0e6ab8cd7a04e81d77
              \
 No newline at end of file
 3980   4969   
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
 3981   4970   
new file mode 100644
 3982   4971   
index 0000000..3189f55
 3983         -
-- /dev/null
        4972  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signed-request.txt
 3984   4973   
@@ -0,0 +1,6 @@
        4974  +
GET //example// HTTP/1.1
        4975  +
Host:example.amazonaws.com
        4976  +
X-Amz-Date:20150830T123600Z
        4977  +
X-Amz-Region-Set:us-east-1
        4978  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203d34870fcc77b0f5a3f6d440cd1cecb75c7e534cfbcc68f60743d308ae92fef602200f9fbaacc5010b9a7e046b1b5ae58764bd32c24c47ef65b63ad9ff756c478e4d
        4979  +
 3985   4980   
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
 3986   4981   
similarity index 99%
 3987   4982   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-string-to-sign.txt
 3988   4983   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-string-to-sign.txt
 3989   4984   
index 8f9c95e..430020e 100644
 3990   4985   
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
 3991   4986   
new file mode 100644
 3992   4987   
index 0000000..379dcb2
 3993         -
-- /dev/null
        4988  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/public-key.json
 3994   4989   
@@ -0,0 +1,4 @@
        4990  +
{
        4991  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4992  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4993  +
}
 3995   4994   
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
 3996   4995   
similarity index 99%
 3997   4996   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-canonical-request.txt
 3998   4997   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-canonical-request.txt
 3999   4998   
index 1046735..8d41e37 100644
 4000   4999   
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
 4001   5000   
new file mode 100644
 4002   5001   
index 0000000..93a0fa4
 4003         -
-- /dev/null
        5002  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signature.txt
 4004   5003   
@@ -0,0 +1 @@
        5004  +
3045022100dfd2281b396d138207f0e58889bd6cc4d95ffd8d64e6f37ef2a9f2a15cab6944022060d05a747cd4e3c49cb50bf58d834ae917cd1ebd1524a352fb64f4d54f9ba279
              \
 No newline at end of file
 4005   5005   
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
 4006   5006   
new file mode 100644
 4007   5007   
index 0000000..65c8cb6
 4008         -
-- /dev/null
        5008  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signed-request.txt
 4009   5009   
@@ -0,0 +1,3 @@
        5010  +
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
        5011  +
Host:example.amazonaws.com
        5012  +
 4010   5013   
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
 4011   5014   
similarity index 99%
 4012   5015   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-string-to-sign.txt
 4013   5016   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-string-to-sign.txt
 4014   5017   
index b293cc2..0f4c4c5 100644
 4015   5018   
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
 4016   5019   
similarity index 65%
 4017   5020   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
 4018   5021   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 4019   5022   
index a4307ce..12e0931 100644
 4020         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
        5023  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 4021   5024   
@@ -1,3 +1,2 @@
 4022   5025   
GET //example// HTTP/1.1
 4023   5026   
Host:example.amazonaws.com
 4024         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4025   5027   
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
 4026   5028   
new file mode 100644
 4027   5029   
index 0000000..7bee5c7
 4028         -
-- /dev/null
        5030  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/context.json
 4029   5031   
@@ -0,0 +1,12 @@
        5032  +
{
        5033  +
    "credentials": {
        5034  +
        "access_key_id": "AKIDEXAMPLE",
        5035  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5036  +
    },
        5037  +
    "expiration_in_seconds": 3600,
        5038  +
    "normalize": false,
        5039  +
    "region": "us-east-1",
        5040  +
    "service": "service",
        5041  +
    "sign_body": false,
        5042  +
    "timestamp": "2015-08-30T12:36:00Z"
        5043  +
}
              \
 No newline at end of file
 4030   5044   
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
 4031   5045   
similarity index 99%
 4032   5046   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-canonical-request.txt
 4033   5047   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-canonical-request.txt
 4034   5048   
index a9c55f6..76f55ed 100644
 4035   5049   
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
 4036   5050   
new file mode 100644
 4037   5051   
index 0000000..de333b2
 4038         -
-- /dev/null
        5052  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signature.txt
 4039   5053   
@@ -0,0 +1 @@
        5054  +
3044022039ccb6afb5f0b574cfc8fec2e9158269bbe28f9e5747acc032d1ea17617f8b2002204933ee3e4ad4ec425c90593a68db99fcece29ae45906dec40c2204290cedf8bd
              \
 No newline at end of file
 4040   5055   
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
 4041   5056   
new file mode 100644
 4042   5057   
index 0000000..773ce63
 4043         -
-- /dev/null
        5058  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signed-request.txt
 4044   5059   
@@ -0,0 +1,6 @@
        5060  +
GET //example// HTTP/1.1
        5061  +
Host:example.amazonaws.com
        5062  +
X-Amz-Date:20150830T123600Z
        5063  +
X-Amz-Region-Set:us-east-1
        5064  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502202450e5abfccb424d5a0e2d5d1a084e76abc5290ae567a97f5174bfed575fd519022100a5e743040a2bdd3cd7889070e1d190d5782e7591a715370f9bea04dc2702dbab
        5065  +
 4045   5066   
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
 4046   5067   
similarity index 99%
 4047   5068   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-string-to-sign.txt
 4048   5069   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-string-to-sign.txt
 4049   5070   
index 5c4c2cd..46c3265 100644
 4050   5071   
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
 4051   5072   
new file mode 100644
 4052   5073   
index 0000000..379dcb2
 4053         -
-- /dev/null
        5074  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/public-key.json
 4054   5075   
@@ -0,0 +1,4 @@
        5076  +
{
        5077  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5078  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5079  +
}
 4055   5080   
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
 4056   5081   
similarity index 99%
 4057   5082   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-canonical-request.txt
 4058   5083   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-canonical-request.txt
 4059   5084   
index c878ab4..6047ccf 100644
 4060   5085   
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
 4061   5086   
new file mode 100644
 4062   5087   
index 0000000..d61fcd0
 4063         -
-- /dev/null
        5088  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signature.txt
 4064   5089   
@@ -0,0 +1 @@
        5090  +
3045022100fa1d3e99997a184d59e23fb8bfeca08a5f94f2e7b89b0320d11deacab3593f0f022009c0785ec02c5dda370a3eb714feb51e3b0d56df674571bf7146bf8277897e65
              \
 No newline at end of file
 4065   5091   
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
 4066   5092   
new file mode 100644
 4067   5093   
index 0000000..3e37b5b
 4068         -
-- /dev/null
        5094  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signed-request.txt
 4069   5095   
@@ -0,0 +1,3 @@
        5096  +
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
        5097  +
Host:example.amazonaws.com
        5098  +
 4070   5099   
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
 4071   5100   
similarity index 99%
 4072   5101   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-string-to-sign.txt
 4073   5102   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-string-to-sign.txt
 4074   5103   
index 5f59645..2537d28 100644
 4075   5104   
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
 4076   5105   
new file mode 100644
 4077   5106   
index 0000000..12e0931
 4078         -
-- /dev/null
        5107  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/request.txt
 4079   5108   
@@ -0,0 +1,2 @@
        5109  +
GET //example// HTTP/1.1
        5110  +
Host:example.amazonaws.com
 4080   5111   
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
 4081   5112   
new file mode 100644
 4082   5113   
index 0000000..0468d80
 4083         -
-- /dev/null
        5114  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/context.json
 4084   5115   
@@ -0,0 +1,12 @@
        5116  +
{
        5117  +
    "credentials": {
        5118  +
        "access_key_id": "AKIDEXAMPLE",
        5119  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5120  +
    },
        5121  +
    "expiration_in_seconds": 3600,
        5122  +
    "normalize": true,
        5123  +
    "region": "us-east-1",
        5124  +
    "service": "service",
        5125  +
    "sign_body": false,
        5126  +
    "timestamp": "2015-08-30T12:36:00Z"
        5127  +
}
              \
 No newline at end of file
 4085   5128   
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
 4086   5129   
new file mode 100644
 4087   5130   
index 0000000..0b2b616
 4088         -
-- /dev/null
        5131  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-canonical-request.txt
 4089   5132   
@@ -0,0 +1,9 @@
        5133  +
GET
        5134  +
/example%20space/
        5135  +
        5136  +
host:example.amazonaws.com
        5137  +
x-amz-date:20150830T123600Z
        5138  +
x-amz-region-set:us-east-1
        5139  +
        5140  +
host;x-amz-date;x-amz-region-set
        5141  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4090   5142   
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
 4091   5143   
new file mode 100644
 4092   5144   
index 0000000..6e7841d
 4093         -
-- /dev/null
        5145  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signature.txt
 4094   5146   
@@ -0,0 +1 @@
        5147  +
304502202292b4f0e4f1495b9ceb3b77349efeffdce42cb5461f810db3983005c1e772ca022100b4b6175661196a82f5b59968315517e1ffdde58d2e3eba10d3bfe171cde625c4
              \
 No newline at end of file
 4095   5148   
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
 4096   5149   
new file mode 100644
 4097   5150   
index 0000000..0969cd3
 4098         -
-- /dev/null
        5151  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signed-request.txt
 4099   5152   
@@ -0,0 +1,6 @@
        5153  +
GET /example space/ HTTP/1.1
        5154  +
Host:example.amazonaws.com
        5155  +
X-Amz-Date:20150830T123600Z
        5156  +
X-Amz-Region-Set:us-east-1
        5157  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100e8e0ec99a8d287073e078543fdbdeba108cdef097a52c7556874076072350200022100e59d9e0f48209bea00faa47d485d850eb72747db83927a2a43b5ebab5ca2b545
        5158  +
 4100   5159   
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
 4101   5160   
new file mode 100644
 4102   5161   
index 0000000..ddae6e2
 4103         -
-- /dev/null
        5162  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-string-to-sign.txt
 4104   5163   
@@ -0,0 +1,4 @@
        5164  +
AWS4-ECDSA-P256-SHA256
        5165  +
20150830T123600Z
        5166  +
20150830/service/aws4_request
        5167  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 4105   5168   
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
 4106   5169   
new file mode 100644
 4107   5170   
index 0000000..379dcb2
 4108         -
-- /dev/null
        5171  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/public-key.json
 4109   5172   
@@ -0,0 +1,4 @@
        5173  +
{
        5174  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5175  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5176  +
}
 4110   5177   
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
 4111   5178   
new file mode 100644
 4112   5179   
index 0000000..a66b3cb
 4113         -
-- /dev/null
        5180  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-canonical-request.txt
 4114   5181   
@@ -0,0 +1,7 @@
        5182  +
GET
        5183  +
/example%20space/
        5184  +
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
        5185  +
host:example.amazonaws.com
        5186  +
        5187  +
host
        5188  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4115   5189   
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
 4116   5190   
new file mode 100644
 4117   5191   
index 0000000..b3253ae
 4118         -
-- /dev/null
        5192  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signature.txt
 4119   5193   
@@ -0,0 +1 @@
        5194  +
3045022100fc068fdda7586bec9ac9ed341e7a81bf1e1f8c60fee6e22165868ecac62e404d02200620b5d68b9be75210336618fc0a884439ce1ae93085adb03e27f1ce7ca4912e
              \
 No newline at end of file
 4120   5195   
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
 4121   5196   
new file mode 100644
 4122   5197   
index 0000000..9e335b2
 4123         -
-- /dev/null
        5198  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signed-request.txt
 4124   5199   
@@ -0,0 +1,3 @@
        5200  +
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
        5201  +
Host:example.amazonaws.com
        5202  +
 4125   5203   
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
 4126   5204   
new file mode 100644
 4127   5205   
index 0000000..b6ff6fb
 4128         -
-- /dev/null
        5206  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-string-to-sign.txt
 4129   5207   
@@ -0,0 +1,4 @@
        5208  +
AWS4-ECDSA-P256-SHA256
        5209  +
20150830T123600Z
        5210  +
20150830/service/aws4_request
        5211  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 4130   5212   
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
 4131   5213   
new file mode 100644
 4132   5214   
index 0000000..ab509ab
 4133         -
-- /dev/null
        5215  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/request.txt
 4134   5216   
@@ -0,0 +1,2 @@
        5217  +
GET /example space/ HTTP/1.1
        5218  +
Host:example.amazonaws.com
 4135   5219   
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
 4136   5220   
new file mode 100644
 4137   5221   
index 0000000..7bee5c7
 4138         -
-- /dev/null
        5222  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/context.json
 4139   5223   
@@ -0,0 +1,12 @@
        5224  +
{
        5225  +
    "credentials": {
        5226  +
        "access_key_id": "AKIDEXAMPLE",
        5227  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5228  +
    },
        5229  +
    "expiration_in_seconds": 3600,
        5230  +
    "normalize": false,
        5231  +
    "region": "us-east-1",
        5232  +
    "service": "service",
        5233  +
    "sign_body": false,
        5234  +
    "timestamp": "2015-08-30T12:36:00Z"
        5235  +
}
              \
 No newline at end of file
 4140   5236   
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
 4141   5237   
new file mode 100644
 4142   5238   
index 0000000..0b2b616
 4143         -
-- /dev/null
        5239  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-canonical-request.txt
 4144   5240   
@@ -0,0 +1,9 @@
        5241  +
GET
        5242  +
/example%20space/
        5243  +
        5244  +
host:example.amazonaws.com
        5245  +
x-amz-date:20150830T123600Z
        5246  +
x-amz-region-set:us-east-1
        5247  +
        5248  +
host;x-amz-date;x-amz-region-set
        5249  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4145   5250   
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
 4146   5251   
new file mode 100644
 4147   5252   
index 0000000..e75ae08
 4148         -
-- /dev/null
        5253  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signature.txt
 4149   5254   
@@ -0,0 +1 @@
        5255  +
3046022100881d1dce37131cd3248fa4cfb63f050e8985c3de5a58f654a8b263d52ad576180221009316e13742504474cf33631bb5f2fa89f4990c911ad317be831a6de015cf4054
              \
 No newline at end of file
 4150   5256   
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
 4151   5257   
new file mode 100644
 4152   5258   
index 0000000..cb089db
 4153         -
-- /dev/null
        5259  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signed-request.txt
 4154   5260   
@@ -0,0 +1,6 @@
        5261  +
GET /example space/ HTTP/1.1
        5262  +
Host:example.amazonaws.com
        5263  +
X-Amz-Date:20150830T123600Z
        5264  +
X-Amz-Region-Set:us-east-1
        5265  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100a26695d793a8e7d2ed2a3495402e9b4bf8e5b05e767d303f57d9515f617ebae5022100c4b89f5648567c08b6d173b6d733f5c012bb615cd38039109f64db56efecc851
        5266  +
 4155   5267   
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
 4156   5268   
new file mode 100644
 4157   5269   
index 0000000..ddae6e2
 4158         -
-- /dev/null
        5270  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-string-to-sign.txt
 4159   5271   
@@ -0,0 +1,4 @@
        5272  +
AWS4-ECDSA-P256-SHA256
        5273  +
20150830T123600Z
        5274  +
20150830/service/aws4_request
        5275  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 4160   5276   
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
 4161   5277   
new file mode 100644
 4162   5278   
index 0000000..379dcb2
 4163         -
-- /dev/null
        5279  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/public-key.json
 4164   5280   
@@ -0,0 +1,4 @@
        5281  +
{
        5282  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5283  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5284  +
}
 4165   5285   
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
 4166   5286   
new file mode 100644
 4167   5287   
index 0000000..a66b3cb
 4168         -
-- /dev/null
        5288  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-canonical-request.txt
 4169   5289   
@@ -0,0 +1,7 @@
        5290  +
GET
        5291  +
/example%20space/
        5292  +
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
        5293  +
host:example.amazonaws.com
        5294  +
        5295  +
host
        5296  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4170   5297   
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
 4171   5298   
new file mode 100644
 4172   5299   
index 0000000..66a80c3
 4173         -
-- /dev/null
        5300  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signature.txt
 4174   5301   
@@ -0,0 +1 @@
        5302  +
304502201825fe5d62f321a740cbe590ce0c0c17045eed9acbbbd574d3cefbec349d06c5022100bcd482f85374b24d9f1f5000d2de7e12a4e0c8f5277e73d29c41ecc45390e731
              \
 No newline at end of file
 4175   5303   
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
 4176   5304   
new file mode 100644
 4177   5305   
index 0000000..7d1b9d9
 4178         -
-- /dev/null
        5306  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signed-request.txt
 4179   5307   
@@ -0,0 +1,3 @@
        5308  +
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
        5309  +
Host:example.amazonaws.com
        5310  +
 4180   5311   
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
 4181   5312   
new file mode 100644
 4182   5313   
index 0000000..b6ff6fb
 4183         -
-- /dev/null
        5314  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-string-to-sign.txt
 4184   5315   
@@ -0,0 +1,4 @@
        5316  +
AWS4-ECDSA-P256-SHA256
        5317  +
20150830T123600Z
        5318  +
20150830/service/aws4_request
        5319  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 4185   5320   
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
 4186   5321   
new file mode 100644
 4187   5322   
index 0000000..ab509ab
 4188         -
-- /dev/null
        5323  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/request.txt
 4189   5324   
@@ -0,0 +1,2 @@
        5325  +
GET /example space/ HTTP/1.1
        5326  +
Host:example.amazonaws.com
 4190   5327   
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
 4191   5328   
new file mode 100644
 4192   5329   
index 0000000..0468d80
 4193         -
-- /dev/null
        5330  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/context.json
 4194   5331   
@@ -0,0 +1,12 @@
        5332  +
{
        5333  +
    "credentials": {
        5334  +
        "access_key_id": "AKIDEXAMPLE",
        5335  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5336  +
    },
        5337  +
    "expiration_in_seconds": 3600,
        5338  +
    "normalize": true,
        5339  +
    "region": "us-east-1",
        5340  +
    "service": "service",
        5341  +
    "sign_body": false,
        5342  +
    "timestamp": "2015-08-30T12:36:00Z"
        5343  +
}
              \
 No newline at end of file
 4195   5344   
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
 4196   5345   
similarity index 99%
 4197   5346   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-canonical-request.txt
 4198   5347   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-canonical-request.txt
 4199   5348   
index b0db648..46d76bb 100644
 4200   5349   
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
 4201   5350   
new file mode 100644
 4202   5351   
index 0000000..53c0cb6
 4203         -
-- /dev/null
        5352  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signature.txt
 4204   5353   
@@ -0,0 +1 @@
        5354  +
304502204303d34750ced762f4e5af2c61ba70c9f5830d8a5c7fc418a02823d61673ca32022100c26cf8f38007155cb8bd3e684697063ad8f421a91be796d78b14b126e25d3680
              \
 No newline at end of file
 4205   5355   
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
 4206   5356   
new file mode 100644
 4207   5357   
index 0000000..3bdb653
 4208         -
-- /dev/null
        5358  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signed-request.txt
 4209   5359   
@@ -0,0 +1,6 @@
        5360  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5361  +
Host:example.amazonaws.com
        5362  +
X-Amz-Date:20150830T123600Z
        5363  +
X-Amz-Region-Set:us-east-1
        5364  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206a228bcbe26141c2c5065525b98ea00b793470e04e655006269f740e320215930220160015e35502fa89a96f5fed59981af0896b60ecea6a68606a0be368bca73f2c
        5365  +
 4210   5366   
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
 4211   5367   
similarity index 99%
 4212   5368   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-string-to-sign.txt
 4213   5369   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-string-to-sign.txt
 4214   5370   
index 20c7cd6..3b30173 100644
 4215   5371   
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
 4216   5372   
new file mode 100644
 4217   5373   
index 0000000..379dcb2
 4218         -
-- /dev/null
        5374  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/public-key.json
 4219   5375   
@@ -0,0 +1,4 @@
        5376  +
{
        5377  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5378  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5379  +
}
 4220   5380   
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
 4221   5381   
similarity index 99%
 4222   5382   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-canonical-request.txt
 4223   5383   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-canonical-request.txt
 4224   5384   
index f9fb726..7e93f58 100644
 4225   5385   
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
 4226   5386   
new file mode 100644
 4227   5387   
index 0000000..48311a8
 4228         -
-- /dev/null
        5388  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signature.txt
 4229   5389   
@@ -0,0 +1 @@
        5390  +
3045022100a8e6e2918ceb211f77810150d828be217af238ca95db6f88264d668ffacefb8b02204122d651c775a3ed8f40f3bfe37a2c8fec28cd53027b599eddd7115e06ca4bb0
              \
 No newline at end of file
 4230   5391   
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
 4231   5392   
new file mode 100644
 4232   5393   
index 0000000..82da9be
 4233         -
-- /dev/null
        5394  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signed-request.txt
 4234   5395   
@@ -0,0 +1,3 @@
        5396  +
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
        5397  +
Host:example.amazonaws.com
        5398  +
 4235   5399   
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
 4236   5400   
similarity index 99%
 4237   5401   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-string-to-sign.txt
 4238   5402   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-string-to-sign.txt
 4239   5403   
index ef06e89..4aab9a2 100644
 4240   5404   
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
 4241   5405   
similarity index 80%
 4242   5406   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
 4243   5407   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 4244   5408   
index da760cd..a149694 100644
 4245         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
        5409  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 4246   5410   
@@ -1,3 +1,2 @@
 4247   5411   
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 4248   5412   
Host:example.amazonaws.com
 4249         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4250   5413   
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
 4251   5414   
new file mode 100644
 4252   5415   
index 0000000..0468d80
 4253         -
-- /dev/null
        5416  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/context.json
 4254   5417   
@@ -0,0 +1,12 @@
        5418  +
{
        5419  +
    "credentials": {
        5420  +
        "access_key_id": "AKIDEXAMPLE",
        5421  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5422  +
    },
        5423  +
    "expiration_in_seconds": 3600,
        5424  +
    "normalize": true,
        5425  +
    "region": "us-east-1",
        5426  +
    "service": "service",
        5427  +
    "sign_body": false,
        5428  +
    "timestamp": "2015-08-30T12:36:00Z"
        5429  +
}
              \
 No newline at end of file
 4255   5430   
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
 4256   5431   
new file mode 100644
 4257   5432   
index 0000000..0f1afe7
 4258         -
-- /dev/null
        5433  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-canonical-request.txt
 4259   5434   
@@ -0,0 +1,9 @@
        5435  +
GET
        5436  +
/%E1%88%B4
        5437  +
        5438  +
host:example.amazonaws.com
        5439  +
x-amz-date:20150830T123600Z
        5440  +
x-amz-region-set:us-east-1
        5441  +
        5442  +
host;x-amz-date;x-amz-region-set
        5443  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4260   5444   
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
 4261   5445   
new file mode 100644
 4262   5446   
index 0000000..4b9af6c
 4263         -
-- /dev/null
        5447  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signature.txt
 4264   5448   
@@ -0,0 +1 @@
        5449  +
3044022009b73628ce2929e224b781c591bdc93fc3381cef5f63992eefb82a286276fa0902203cbc6071d1be7b8c91ec0a04b921881c48cbea2a0a86481f6fa7a983e36190c0
              \
 No newline at end of file
 4265   5450   
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
 4266   5451   
new file mode 100644
 4267   5452   
index 0000000..d42d7b3
 4268         -
-- /dev/null
        5453  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signed-request.txt
 4269   5454   
@@ -0,0 +1,6 @@
        5455  +
GET /ሴ HTTP/1.1
        5456  +
Host:example.amazonaws.com
        5457  +
X-Amz-Date:20150830T123600Z
        5458  +
X-Amz-Region-Set:us-east-1
        5459  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210082c462efc22f340d7d20b19e0c9b38400e9395bedd9269e01e959ef915ca2846022050d38df1572786ef8befe01d888335c15b0f17fb1d795858fa3cb79e060ba375
        5460  +
 4270   5461   
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
 4271   5462   
new file mode 100644
 4272   5463   
index 0000000..0827f62
 4273         -
-- /dev/null
        5464  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-string-to-sign.txt
 4274   5465   
@@ -0,0 +1,4 @@
        5466  +
AWS4-ECDSA-P256-SHA256
        5467  +
20150830T123600Z
        5468  +
20150830/service/aws4_request
        5469  +
7c8a7084825e715f0e217a7470ce3611bcfedb5b70329d9b36bba5cefd39c11a
              \
 No newline at end of file
 4275   5470   
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
 4276   5471   
new file mode 100644
 4277   5472   
index 0000000..379dcb2
 4278         -
-- /dev/null
        5473  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/public-key.json
 4279   5474   
@@ -0,0 +1,4 @@
        5475  +
{
        5476  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5477  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5478  +
}
 4280   5479   
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
 4281   5480   
new file mode 100644
 4282   5481   
index 0000000..a41a2f8
 4283         -
-- /dev/null
        5482  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-canonical-request.txt
 4284   5483   
@@ -0,0 +1,7 @@
        5484  +
GET
        5485  +
/%E1%88%B4
        5486  +
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
        5487  +
host:example.amazonaws.com
        5488  +
        5489  +
host
        5490  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4285   5491   
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
 4286   5492   
new file mode 100644
 4287   5493   
index 0000000..a5c7f4f
 4288         -
-- /dev/null
        5494  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signature.txt
 4289   5495   
@@ -0,0 +1 @@
        5496  +
30460221008cf2ac3d46b7529fe7b73add56626a546fc9372b458e197dbd355198465e0918022100c059b86e01bd11d31c5fe19ee7c73fe3b8058ad2cebe2fe74c779c4a6a95684a
              \
 No newline at end of file
 4290   5497   
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
 4291   5498   
new file mode 100644
 4292   5499   
index 0000000..492ed33
 4293         -
-- /dev/null
        5500  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signed-request.txt
 4294   5501   
@@ -0,0 +1,3 @@
        5502  +
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
        5503  +
Host:example.amazonaws.com
        5504  +
 4295   5505   
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
 4296   5506   
new file mode 100644
 4297   5507   
index 0000000..a93108f
 4298         -
-- /dev/null
        5508  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-string-to-sign.txt
 4299   5509   
@@ -0,0 +1,4 @@
        5510  +
AWS4-ECDSA-P256-SHA256
        5511  +
20150830T123600Z
        5512  +
20150830/service/aws4_request
        5513  +
b77c78c8276c5eac930db70b21b69b34d0c2560e1a963ab28e28481ef6a4ff66
              \
 No newline at end of file
 4300   5514   
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
 4301   5515   
new file mode 100644
 4302   5516   
index 0000000..9e273f6
 4303         -
-- /dev/null
        5517  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/request.txt
 4304   5518   
@@ -0,0 +1,2 @@
        5519  +
GET /ሴ HTTP/1.1
        5520  +
Host:example.amazonaws.com
 4305   5521   
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
 4306   5522   
new file mode 100644
 4307   5523   
index 0000000..0468d80
 4308         -
-- /dev/null
        5524  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/context.json
 4309   5525   
@@ -0,0 +1,12 @@
        5526  +
{
        5527  +
    "credentials": {
        5528  +
        "access_key_id": "AKIDEXAMPLE",
        5529  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5530  +
    },
        5531  +
    "expiration_in_seconds": 3600,
        5532  +
    "normalize": true,
        5533  +
    "region": "us-east-1",
        5534  +
    "service": "service",
        5535  +
    "sign_body": false,
        5536  +
    "timestamp": "2015-08-30T12:36:00Z"
        5537  +
}
              \
 No newline at end of file
 4310   5538   
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
 4311   5539   
similarity index 99%
 4312   5540   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-canonical-request.txt
 4313   5541   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-canonical-request.txt
 4314   5542   
index bb9d4bf..edc0bb4 100644
 4315   5543   
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
 4316   5544   
new file mode 100644
 4317   5545   
index 0000000..ee9a272
 4318         -
-- /dev/null
        5546  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signature.txt
 4319   5547   
@@ -0,0 +1 @@
        5548  +
3044022075e5fe54105695e4af6f5b59ff39f4f1d84de3bfdd546a6b9212936a78e743ac02204f25f3b9826688eb9743088f426eabd6b306432fd2c4c5c5aa2bbb9058267542
              \
 No newline at end of file
 4320   5549   
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
 4321   5550   
new file mode 100644
 4322   5551   
index 0000000..2090343
 4323         -
-- /dev/null
        5552  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signed-request.txt
 4324   5553   
@@ -0,0 +1,6 @@
        5554  +
GET /?Param1=value1 HTTP/1.1
        5555  +
Host:example.amazonaws.com
        5556  +
X-Amz-Date:20150830T123600Z
        5557  +
X-Amz-Region-Set:us-east-1
        5558  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210093d40fe05684ddadfadfafc4b8565d18ca94d590fc897577224bf09696bbde6102206f12bb5e2503781303cf6880c0a2136d4b820221eb9d6ac5ad61378b16b8ea5d
        5559  +
 4325   5560   
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
 4326   5561   
similarity index 99%
 4327   5562   
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
 4328   5563   
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
 4329   5564   
index a176f1d..06ed74f 100644
 4330   5565   
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
 4331   5566   
new file mode 100644
 4332   5567   
index 0000000..379dcb2
 4333         -
-- /dev/null
        5568  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/public-key.json
 4334   5569   
@@ -0,0 +1,4 @@
        5570  +
{
        5571  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5572  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5573  +
}
 4335   5574   
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
 4336   5575   
similarity index 99%
 4337   5576   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-canonical-request.txt
 4338   5577   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-canonical-request.txt
 4339   5578   
index 344384b..a875d70 100644
 4340   5579   
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
 4341   5580   
new file mode 100644
 4342   5581   
index 0000000..ef93624
 4343         -
-- /dev/null
        5582  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signature.txt
 4344   5583   
@@ -0,0 +1 @@
        5584  +
30460221009a9e99aefe8effed47320e6e9f54cb943e2f72ce638ed7aae2a6711240304b82022100a90e99f053dd51912a6993299229e19aebbd81e68d4d24a1bdedcc6717c9f456
              \
 No newline at end of file
 4345   5585   
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
 4346   5586   
new file mode 100644
 4347   5587   
index 0000000..92829f7
 4348         -
-- /dev/null
        5588  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signed-request.txt
 4349   5589   
@@ -0,0 +1,3 @@
        5590  +
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
        5591  +
Host:example.amazonaws.com
        5592  +
 4350   5593   
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
 4351   5594   
similarity index 99%
 4352   5595   
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
 4353   5596   
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
 4354   5597   
index b625052..4ff9191 100644
 4355   5598   
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
 4356   5599   
similarity index 67%
 4357   5600   
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
 4358   5601   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4359   5602   
index 970d0a0..f4a03bb 100644
 4360         -
-- 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
        5603  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4361   5604   
@@ -1,3 +1,2 @@
 4362   5605   
GET /?Param1=value1 HTTP/1.1
 4363   5606   
Host:example.amazonaws.com
 4364         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4365   5607   
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
 4366   5608   
new file mode 100644
 4367   5609   
index 0000000..0468d80
 4368         -
-- /dev/null
        5610  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/context.json
 4369   5611   
@@ -0,0 +1,12 @@
        5612  +
{
        5613  +
    "credentials": {
        5614  +
        "access_key_id": "AKIDEXAMPLE",
        5615  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5616  +
    },
        5617  +
    "expiration_in_seconds": 3600,
        5618  +
    "normalize": true,
        5619  +
    "region": "us-east-1",
        5620  +
    "service": "service",
        5621  +
    "sign_body": false,
        5622  +
    "timestamp": "2015-08-30T12:36:00Z"
        5623  +
}
              \
 No newline at end of file
 4370   5624   
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
 4371   5625   
new file mode 100644
 4372   5626   
index 0000000..da07537
 4373         -
-- /dev/null
        5627  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-canonical-request.txt
 4374   5628   
@@ -0,0 +1,9 @@
        5629  +
GET
        5630  +
/
        5631  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        5632  +
host:example.amazonaws.com
        5633  +
x-amz-date:20150830T123600Z
        5634  +
x-amz-region-set:us-east-1
        5635  +
        5636  +
host;x-amz-date;x-amz-region-set
        5637  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4375   5638   
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
 4376   5639   
new file mode 100644
 4377   5640   
index 0000000..edb21e5
 4378         -
-- /dev/null
        5641  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signature.txt
 4379   5642   
@@ -0,0 +1 @@
        5643  +
304402201c9d8aa856d87542e2fc29ccb3841bf604d7582a8ab2ca8e6c9e21c98693f35502207052f84ecd1dc8b6468a536e9d1bdc990cf14bae8142c1cc945f15bcf0e87613
              \
 No newline at end of file
 4380   5644   
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
 4381   5645   
new file mode 100644
 4382   5646   
index 0000000..e60394c
 4383         -
-- /dev/null
        5647  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signed-request.txt
 4384   5648   
@@ -0,0 +1,6 @@
        5649  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        5650  +
Host:example.amazonaws.com
        5651  +
X-Amz-Date:20150830T123600Z
        5652  +
X-Amz-Region-Set:us-east-1
        5653  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100cef3137947f52af13fe5591d4ddcff0260176e7b2a668b43ac8f0cba2e489fe502203b4fe53c9fe3e8925643fe0e4c3ec0b3ea6262917bf7300d2e2abb399078e6de
        5654  +
 4385   5655   
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
 4386   5656   
new file mode 100644
 4387   5657   
index 0000000..1dfc886
 4388         -
-- /dev/null
        5658  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-string-to-sign.txt
 4389   5659   
@@ -0,0 +1,4 @@
        5660  +
AWS4-ECDSA-P256-SHA256
        5661  +
20150830T123600Z
        5662  +
20150830/service/aws4_request
        5663  +
55568a29040b287c72015a5ab482d9aaceeb1e9881f3bc946378bc3d6079f6a5
              \
 No newline at end of file
 4390   5664   
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
 4391   5665   
new file mode 100644
 4392   5666   
index 0000000..379dcb2
 4393         -
-- /dev/null
        5667  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/public-key.json
 4394   5668   
@@ -0,0 +1,4 @@
        5669  +
{
        5670  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5671  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5672  +
}
 4395   5673   
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
 4396   5674   
new file mode 100644
 4397   5675   
index 0000000..e94dc0c
 4398         -
-- /dev/null
        5676  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-canonical-request.txt
 4399   5677   
@@ -0,0 +1,7 @@
        5678  +
GET
        5679  +
/
        5680  +
%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
        5681  +
host:example.amazonaws.com
        5682  +
        5683  +
host
        5684  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4400   5685   
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
 4401   5686   
new file mode 100644
 4402   5687   
index 0000000..7489437
 4403         -
-- /dev/null
        5688  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signature.txt
 4404   5689   
@@ -0,0 +1 @@
        5690  +
3046022100dcc853d7fbd59ceebd1ac57d404b979a7252cf88c79dcc6d58167902750235fd022100ffa98128e35b03aa434287165980f78533e9e6dfc80373cea82b047f4f0554ee
              \
 No newline at end of file
 4405   5691   
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
 4406   5692   
new file mode 100644
 4407   5693   
index 0000000..90c0e73
 4408         -
-- /dev/null
        5694  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signed-request.txt
 4409   5695   
@@ -0,0 +1,3 @@
        5696  +
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
        5697  +
Host:example.amazonaws.com
        5698  +
 4410   5699   
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
 4411   5700   
new file mode 100644
 4412   5701   
index 0000000..ab8a711
 4413         -
-- /dev/null
        5702  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-string-to-sign.txt
 4414   5703   
@@ -0,0 +1,4 @@
        5704  +
AWS4-ECDSA-P256-SHA256
        5705  +
20150830T123600Z
        5706  +
20150830/service/aws4_request
        5707  +
56d9ab07692614338f2aa44f1018ad4102b19305fba8b83383d2d7c6ca816614
              \
 No newline at end of file
 4415   5708   
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
 4416   5709   
new file mode 100644
 4417   5710   
index 0000000..368c6e3
 4418         -
-- /dev/null
        5711  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/request.txt
 4419   5712   
@@ -0,0 +1,2 @@
        5713  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        5714  +
Host:example.amazonaws.com
 4420   5715   
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
 4421   5716   
new file mode 100644
 4422   5717   
index 0000000..0468d80
 4423         -
-- /dev/null
        5718  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/context.json
 4424   5719   
@@ -0,0 +1,12 @@
        5720  +
{
        5721  +
    "credentials": {
        5722  +
        "access_key_id": "AKIDEXAMPLE",
        5723  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5724  +
    },
        5725  +
    "expiration_in_seconds": 3600,
        5726  +
    "normalize": true,
        5727  +
    "region": "us-east-1",
        5728  +
    "service": "service",
        5729  +
    "sign_body": false,
        5730  +
    "timestamp": "2015-08-30T12:36:00Z"
        5731  +
}
              \
 No newline at end of file
 4425   5732   
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
 4426   5733   
similarity index 99%
 4427   5734   
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
 4428   5735   
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
 4429   5736   
index 74f625a..3db56f7 100644
 4430   5737   
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
 4431   5738   
new file mode 100644
 4432   5739   
index 0000000..e6042bc
 4433         -
-- /dev/null
        5740  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signature.txt
 4434   5741   
@@ -0,0 +1 @@
        5742  +
3045022100b342b0d62487d235a5baf82e970102670a8d7af34c61f086125d204a90724d9e022070304e846de3de228c57e528b61f4addfdb5fa788a8a452e483c6a286d8803f5
              \
 No newline at end of file
 4435   5743   
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
 4436   5744   
new file mode 100644
 4437   5745   
index 0000000..5505969
 4438         -
-- /dev/null
        5746  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signed-request.txt
 4439   5747   
@@ -0,0 +1,6 @@
        5748  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        5749  +
Host:example.amazonaws.com
        5750  +
X-Amz-Date:20150830T123600Z
        5751  +
X-Amz-Region-Set:us-east-1
        5752  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220394fa0699225f403514cb4db03b7c479f64c5f9864bf520b871bb23a054d6517022100d4445c909fc62a43c6c485a8582621e0e14c6ef1e4218072bc2dcaffc1188f18
        5753  +
 4440   5754   
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
 4441   5755   
similarity index 99%
 4442   5756   
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
 4443   5757   
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
 4444   5758   
index 44873b7..e8f5e31 100644
 4445   5759   
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
 4446   5760   
new file mode 100644
 4447   5761   
index 0000000..379dcb2
 4448         -
-- /dev/null
        5762  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/public-key.json
 4449   5763   
@@ -0,0 +1,4 @@
        5764  +
{
        5765  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5766  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5767  +
}
 4450   5768   
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
 4451   5769   
similarity index 99%
 4452   5770   
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
 4453   5771   
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
 4454   5772   
index 6d30727..3fe6a9f 100644
 4455   5773   
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
 4456   5774   
new file mode 100644
 4457   5775   
index 0000000..3f35de8
 4458         -
-- /dev/null
        5776  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signature.txt
 4459   5777   
@@ -0,0 +1 @@
        5778  +
304402207c976c47b1bcf7333ad10fcf78498bb14a368a6cd8f58703d47c9e91c4468c13022059a3715bafae9410271bf3355ccd0bbc622fe90f3c0168203d83323297789de5
              \
 No newline at end of file
 4460   5779   
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
 4461   5780   
new file mode 100644
 4462   5781   
index 0000000..30b336b
 4463         -
-- /dev/null
        5782  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signed-request.txt
 4464   5783   
@@ -0,0 +1,3 @@
        5784  +
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
        5785  +
Host:example.amazonaws.com
        5786  +
 4465   5787   
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
 4466   5788   
similarity index 99%
 4467   5789   
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
 4468   5790   
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
 4469   5791   
index 99d0510..7f0565f 100644
 4470   5792   
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
 4471   5793   
similarity index 100%
 4472   5794   
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
 4473   5795   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/request.txt
 4474   5796   
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
 4475   5797   
new file mode 100644
 4476   5798   
index 0000000..0468d80
 4477         -
-- /dev/null
        5799  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/context.json
 4478   5800   
@@ -0,0 +1,12 @@
        5801  +
{
        5802  +
    "credentials": {
        5803  +
        "access_key_id": "AKIDEXAMPLE",
        5804  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5805  +
    },
        5806  +
    "expiration_in_seconds": 3600,
        5807  +
    "normalize": true,
        5808  +
    "region": "us-east-1",
        5809  +
    "service": "service",
        5810  +
    "sign_body": false,
        5811  +
    "timestamp": "2015-08-30T12:36:00Z"
        5812  +
}
              \
 No newline at end of file
 4479   5813   
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
 4480   5814   
similarity index 99%
 4481   5815   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-canonical-request.txt
 4482   5816   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-canonical-request.txt
 4483   5817   
index 816c862..cc4537a 100644
 4484   5818   
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
 4485   5819   
new file mode 100644
 4486   5820   
index 0000000..70d38c1
 4487         -
-- /dev/null
        5821  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signature.txt
 4488   5822   
@@ -0,0 +1 @@
        5823  +
3045022100ce7ae9d07bea650598803710644006d47de14a884d0777abd71ccf76164a36c70220256f34ad94c5cb1291a05f7680c2a0068c51d2a31a4e2fe2100d4a58197565ed
              \
 No newline at end of file
 4489   5824   
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
 4490   5825   
new file mode 100644
 4491   5826   
index 0000000..0647eea
 4492         -
-- /dev/null
        5827  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signed-request.txt
 4493   5828   
@@ -0,0 +1,6 @@
        5829  +
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5830  +
Host:example.amazonaws.com
        5831  +
X-Amz-Date:20150830T123600Z
        5832  +
X-Amz-Region-Set:us-east-1
        5833  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220023b0ce37b4e3f7fe6b6e155dab72846b461d22ff4820f019a07afef476f61ee022100f985e993037270cc48ac905b360046d077770a2b28aa829ea909430b1b3ed8aa
        5834  +
 4494   5835   
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
 4495   5836   
similarity index 99%
 4496   5837   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-string-to-sign.txt
 4497   5838   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-string-to-sign.txt
 4498   5839   
index 6129fc5..cc19d14 100644
 4499   5840   
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
 4500   5841   
new file mode 100644
 4501   5842   
index 0000000..379dcb2
 4502         -
-- /dev/null
        5843  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/public-key.json
 4503   5844   
@@ -0,0 +1,4 @@
        5845  +
{
        5846  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5847  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5848  +
}
 4504   5849   
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
 4505   5850   
similarity index 99%
 4506   5851   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-canonical-request.txt
 4507   5852   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-canonical-request.txt
 4508   5853   
index b77ee9f..ed6a10e 100644
 4509   5854   
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
 4510   5855   
new file mode 100644
 4511   5856   
index 0000000..2ceba7b
 4512         -
-- /dev/null
        5857  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signature.txt
 4513   5858   
@@ -0,0 +1 @@
        5859  +
30450220720698c40b04f1a2e1f94e91ed9a59f8b2a2e70cb55e6dd245d0aec039cad6ea022100b2076666b780735e1ddabf773f141ff49f8df3686ffb6c4c7798ba22470e3819
              \
 No newline at end of file
 4514   5860   
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
 4515   5861   
new file mode 100644
 4516   5862   
index 0000000..0cd6d0a
 4517         -
-- /dev/null
        5863  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signed-request.txt
 4518   5864   
@@ -0,0 +1,3 @@
        5865  +
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
        5866  +
Host:example.amazonaws.com
        5867  +
 4519   5868   
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
 4520   5869   
similarity index 99%
 4521   5870   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-string-to-sign.txt
 4522   5871   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-string-to-sign.txt
 4523   5872   
index 1cfed7a..aad1421 100644
 4524   5873   
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
 4525   5874   
similarity index 86%
 4526   5875   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
 4527   5876   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 4528   5877   
index d2833b3..36b2fe3 100644
 4529         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
        5878  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 4530   5879   
@@ -1,3 +1,2 @@
 4531   5880   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 4532   5881   
Host:example.amazonaws.com
 4533         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4534   5882   
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
 4535   5883   
new file mode 100644
 4536   5884   
index 0000000..0468d80
 4537         -
-- /dev/null
        5885  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/context.json
 4538   5886   
@@ -0,0 +1,12 @@
        5887  +
{
        5888  +
    "credentials": {
        5889  +
        "access_key_id": "AKIDEXAMPLE",
        5890  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5891  +
    },
        5892  +
    "expiration_in_seconds": 3600,
        5893  +
    "normalize": true,
        5894  +
    "region": "us-east-1",
        5895  +
    "service": "service",
        5896  +
    "sign_body": false,
        5897  +
    "timestamp": "2015-08-30T12:36:00Z"
        5898  +
}
              \
 No newline at end of file
 4539   5899   
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
 4540   5900   
new file mode 100644
 4541   5901   
index 0000000..76db73d
 4542         -
-- /dev/null
        5902  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-canonical-request.txt
 4543   5903   
@@ -0,0 +1,9 @@
        5904  +
GET
        5905  +
/
        5906  +
        5907  +
host:example.amazonaws.com
        5908  +
x-amz-date:20150830T123600Z
        5909  +
x-amz-region-set:us-east-1
        5910  +
        5911  +
host;x-amz-date;x-amz-region-set
        5912  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4544   5913   
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
 4545   5914   
new file mode 100644
 4546   5915   
index 0000000..281cc62
 4547         -
-- /dev/null
        5916  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signature.txt
 4548   5917   
@@ -0,0 +1 @@
        5918  +
304402202f36c5363f01990fac07fb18efd255fb82fa3807a8a84946f0b5ac2b71ac96f5022068a86869075a8ca0fe4f875f6a07af6df16538f156dba648c9a96b7c3d687924
              \
 No newline at end of file
 4549   5919   
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
 4550   5920   
new file mode 100644
 4551   5921   
index 0000000..cce9925
 4552         -
-- /dev/null
        5922  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signed-request.txt
 4553   5923   
@@ -0,0 +1,6 @@
        5924  +
GET / HTTP/1.1
        5925  +
Host:example.amazonaws.com
        5926  +
X-Amz-Date:20150830T123600Z
        5927  +
X-Amz-Region-Set:us-east-1
        5928  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502201f8540fba7741deef60d162a2cf5a8abece28db296174e82420ae6790d93b8af022100d3109ac9ec7995b9e976efa2c54b278d3fab0737e3c73483771773d2061d8f3f
        5929  +
 4554   5930   
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
 4555   5931   
new file mode 100644
 4556   5932   
index 0000000..600f1d8
 4557         -
-- /dev/null
        5933  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-string-to-sign.txt
 4558   5934   
@@ -0,0 +1,4 @@
        5935  +
AWS4-ECDSA-P256-SHA256
        5936  +
20150830T123600Z
        5937  +
20150830/service/aws4_request
        5938  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4559   5939   
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
 4560   5940   
new file mode 100644
 4561   5941   
index 0000000..379dcb2
 4562         -
-- /dev/null
        5942  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/public-key.json
 4563   5943   
@@ -0,0 +1,4 @@
        5944  +
{
        5945  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5946  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5947  +
}
 4564   5948   
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
 4565   5949   
new file mode 100644
 4566   5950   
index 0000000..779c51c
 4567         -
-- /dev/null
        5951  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-canonical-request.txt
 4568   5952   
@@ -0,0 +1,7 @@
        5953  +
GET
        5954  +
/
        5955  +
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
        5956  +
host:example.amazonaws.com
        5957  +
        5958  +
host
        5959  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4569   5960   
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
 4570   5961   
new file mode 100644
 4571   5962   
index 0000000..2979e5e
 4572         -
-- /dev/null
        5963  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signature.txt
 4573   5964   
@@ -0,0 +1 @@
        5965  +
304402203840161a4739cd19b33c2186657554e140b84ce1fe9021074f154410b97ffad002200606f4430d72826616b2cd47590fcee42bbf23cb0287458389a43f9e6edd897d
              \
 No newline at end of file
 4574   5966   
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
 4575   5967   
new file mode 100644
 4576   5968   
index 0000000..1b3179c
 4577         -
-- /dev/null
        5969  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signed-request.txt
 4578   5970   
@@ -0,0 +1,3 @@
        5971  +
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
        5972  +
Host:example.amazonaws.com
        5973  +
 4579   5974   
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
 4580   5975   
new file mode 100644
 4581   5976   
index 0000000..6e29a7e
 4582         -
-- /dev/null
        5977  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-string-to-sign.txt
 4583   5978   
@@ -0,0 +1,4 @@
        5979  +
AWS4-ECDSA-P256-SHA256
        5980  +
20150830T123600Z
        5981  +
20150830/service/aws4_request
        5982  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4584   5983   
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
 4585   5984   
similarity index 60%
 4586   5985   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
 4587   5986   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 4588   5987   
index 0f7a9bf..e659c3b 100644
 4589         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
        5988  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 4590   5989   
@@ -1,3 +1,2 @@
 4591   5990   
GET / HTTP/1.1
 4592   5991   
Host:example.amazonaws.com
 4593         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4594   5992   
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
 4595   5993   
new file mode 100644
 4596   5994   
index 0000000..0468d80
 4597         -
-- /dev/null
        5995  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/context.json
 4598   5996   
@@ -0,0 +1,12 @@
        5997  +
{
        5998  +
    "credentials": {
        5999  +
        "access_key_id": "AKIDEXAMPLE",
        6000  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6001  +
    },
        6002  +
    "expiration_in_seconds": 3600,
        6003  +
    "normalize": true,
        6004  +
    "region": "us-east-1",
        6005  +
    "service": "service",
        6006  +
    "sign_body": false,
        6007  +
    "timestamp": "2015-08-30T12:36:00Z"
        6008  +
}
              \
 No newline at end of file
 4599   6009   
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
 4600   6010   
new file mode 100644
 4601   6011   
index 0000000..8841ddf
 4602         -
-- /dev/null
        6012  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-canonical-request.txt
 4603   6013   
@@ -0,0 +1,9 @@
        6014  +
GET
        6015  +
/
        6016  +
%E1%88%B4=bar
        6017  +
host:example.amazonaws.com
        6018  +
x-amz-date:20150830T123600Z
        6019  +
x-amz-region-set:us-east-1
        6020  +
        6021  +
host;x-amz-date;x-amz-region-set
        6022  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4604   6023   
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
 4605   6024   
new file mode 100644
 4606   6025   
index 0000000..1497add
 4607         -
-- /dev/null
        6026  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signature.txt
 4608   6027   
@@ -0,0 +1 @@
        6028  +
3046022100b47fe24b090d857f34597a58a4e8acd0ea9639462e606af7e1fa1e2c3fae1d630221008ce7f870adf7d2c06f299da0c9870402b027c6a50ff027881655a664ff294cc3
              \
 No newline at end of file
 4609   6029   
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
 4610   6030   
new file mode 100644
 4611   6031   
index 0000000..961bc10
 4612         -
-- /dev/null
        6032  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signed-request.txt
 4613   6033   
@@ -0,0 +1,6 @@
        6034  +
GET /?ሴ=bar HTTP/1.1
        6035  +
Host:example.amazonaws.com
        6036  +
X-Amz-Date:20150830T123600Z
        6037  +
X-Amz-Region-Set:us-east-1
        6038  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502206e0b9d70bb0413a557946314e04739d721c9f301d452c072590edfdcb9320572022100846f242fb0346c8c56c76a6f0e70c521d7ac02742f09c2e7b5253f1e9afe5a44
        6039  +
 4614   6040   
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
 4615   6041   
new file mode 100644
 4616   6042   
index 0000000..e78ed70
 4617         -
-- /dev/null
        6043  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-string-to-sign.txt
 4618   6044   
@@ -0,0 +1,4 @@
        6045  +
AWS4-ECDSA-P256-SHA256
        6046  +
20150830T123600Z
        6047  +
20150830/service/aws4_request
        6048  +
b27131d754045e85823698b1fe3fc9694c17b16d97f4c43cef2359a1233c7b76
              \
 No newline at end of file
 4619   6049   
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
 4620   6050   
new file mode 100644
 4621   6051   
index 0000000..379dcb2
 4622         -
-- /dev/null
        6052  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/public-key.json
 4623   6053   
@@ -0,0 +1,4 @@
        6054  +
{
        6055  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6056  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6057  +
}
 4624   6058   
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
 4625   6059   
new file mode 100644
 4626   6060   
index 0000000..6d5ae93
 4627         -
-- /dev/null
        6061  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-canonical-request.txt
 4628   6062   
@@ -0,0 +1,7 @@
        6063  +
GET
        6064  +
/
        6065  +
%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
        6066  +
host:example.amazonaws.com
        6067  +
        6068  +
host
        6069  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4629   6070   
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
 4630   6071   
new file mode 100644
 4631   6072   
index 0000000..92107f2
 4632         -
-- /dev/null
        6073  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signature.txt
 4633   6074   
@@ -0,0 +1 @@
        6075  +
3044022076d8b03a19db63abc106c50f13487d5363f1eac2c77bc4eda764eadba8f84c6502205c0aa76554ba223a97958be9ff34aca35d84cb7b8c7ba698793ead9e6788e241
              \
 No newline at end of file
 4634   6076   
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
 4635   6077   
new file mode 100644
 4636   6078   
index 0000000..bb8a75b
 4637         -
-- /dev/null
        6079  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signed-request.txt
 4638   6080   
@@ -0,0 +1,3 @@
        6081  +
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
        6082  +
Host:example.amazonaws.com
        6083  +
 4639   6084   
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
 4640   6085   
new file mode 100644
 4641   6086   
index 0000000..9fa94c7
 4642         -
-- /dev/null
        6087  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-string-to-sign.txt
 4643   6088   
@@ -0,0 +1,4 @@
        6089  +
AWS4-ECDSA-P256-SHA256
        6090  +
20150830T123600Z
        6091  +
20150830/service/aws4_request
        6092  +
e22d57192c68232f914afff959b8aa1027756098f879c7d4d7615a2469f85c1f
              \
 No newline at end of file
 4644   6093   
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
 4645   6094   
new file mode 100644
 4646   6095   
index 0000000..aff333a
 4647         -
-- /dev/null
        6096  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/request.txt
 4648   6097   
@@ -0,0 +1,2 @@
        6098  +
GET /?ሴ=bar HTTP/1.1
        6099  +
Host:example.amazonaws.com
 4649   6100   
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
 4650   6101   
new file mode 100644
 4651   6102   
index 0000000..a334e18
 4652         -
-- /dev/null
        6103  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/context.json
 4653   6104   
@@ -0,0 +1,13 @@
        6105  +
{
        6106  +
    "credentials": {
        6107  +
        "access_key_id": "AKIDEXAMPLE",
        6108  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6109  +
        "token": "6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267"
        6110  +
    },
        6111  +
    "expiration_in_seconds": 3600,
        6112  +
    "normalize": true,
        6113  +
    "region": "us-east-1",
        6114  +
    "service": "service",
        6115  +
    "sign_body": false,
        6116  +
    "timestamp": "2015-08-30T12:36:00Z"
        6117  +
}
              \
 No newline at end of file
 4654   6118   
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
 4655   6119   
similarity index 99%
 4656   6120   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-canonical-request.txt
 4657   6121   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-canonical-request.txt
 4658   6122   
index f14defd..0e9ad42 100644
 4659   6123   
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
 4660   6124   
new file mode 100644
 4661   6125   
index 0000000..a7673b5
 4662         -
-- /dev/null
        6126  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signature.txt
 4663   6127   
@@ -0,0 +1 @@
        6128  +
3044022035c6bc9a8cab8a434bd8bd1cc3b6f1401842f530f1537722ad10d72a1577f8c80220101352fe0720715efbab80f82edb133175f0b61cad85daf943ad615852f9ae10
              \
 No newline at end of file
 4664   6129   
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
 4665   6130   
new file mode 100644
 4666   6131   
index 0000000..ed16e76
 4667         -
-- /dev/null
        6132  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signed-request.txt
 4668   6133   
@@ -0,0 +1,7 @@
        6134  +
GET / HTTP/1.1
        6135  +
Host:example.amazonaws.com
        6136  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        6137  +
X-Amz-Date:20150830T123600Z
        6138  +
X-Amz-Region-Set:us-east-1
        6139  +
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
        6140  +
 4669   6141   
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
 4670   6142   
similarity index 99%
 4671   6143   
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
 4672   6144   
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
 4673   6145   
index 4edece5..6c1ec65 100644
 4674   6146   
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
 4675   6147   
new file mode 100644
 4676   6148   
index 0000000..379dcb2
 4677         -
-- /dev/null
        6149  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/public-key.json
 4678   6150   
@@ -0,0 +1,4 @@
        6151  +
{
        6152  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6153  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6154  +
}
 4679   6155   
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
 4680   6156   
similarity index 99%
 4681   6157   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-canonical-request.txt
 4682   6158   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-canonical-request.txt
 4683   6159   
index 7c042af..1876b42 100644
 4684   6160   
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
 4685   6161   
new file mode 100644
 4686   6162   
index 0000000..903dfb4
 4687         -
-- /dev/null
        6163  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signature.txt
 4688   6164   
@@ -0,0 +1 @@
        6165  +
3046022100d51f7ae1ac1b6b3db6c40f69aafb4306f81cdd2d87a85f69b2c4cb8fd057cf21022100cdb787a698c3f53d961f5b6279a0ff246097f50c874bcbf7a249bf4c0f118fb3
              \
 No newline at end of file
 4689   6166   
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
 4690   6167   
new file mode 100644
 4691   6168   
index 0000000..bf1d246
 4692         -
-- /dev/null
        6169  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signed-request.txt
 4693   6170   
@@ -0,0 +1,3 @@
        6171  +
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
        6172  +
Host:example.amazonaws.com
        6173  +
 4694   6174   
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
 4695   6175   
similarity index 99%
 4696   6176   
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
 4697   6177   
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
 4698   6178   
index 0fd066a..f1b1790 100644
 4699   6179   
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
 4700   6180   
similarity index 60%
 4701   6181   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
 4702   6182   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 4703   6183   
index 0f7a9bf..e659c3b 100644
 4704         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
        6184  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 4705   6185   
@@ -1,3 +1,2 @@
 4706   6186   
GET / HTTP/1.1
 4707   6187   
Host:example.amazonaws.com
 4708         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4709   6188   
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
 4710   6189   
new file mode 100644
 4711   6190   
index 0000000..76db73d
 4712         -
-- /dev/null
        6191  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/canonical-request.txt
 4713   6192   
@@ -0,0 +1,9 @@
        6193  +
GET
        6194  +
/
        6195  +
        6196  +
host:example.amazonaws.com
        6197  +
x-amz-date:20150830T123600Z
        6198  +
x-amz-region-set:us-east-1
        6199  +
        6200  +
host;x-amz-date;x-amz-region-set
        6201  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4714   6202   
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
 4715   6203   
new file mode 100644
 4716   6204   
index 0000000..0468d80
 4717         -
-- /dev/null
        6205  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/context.json
 4718   6206   
@@ -0,0 +1,12 @@
        6207  +
{
        6208  +
    "credentials": {
        6209  +
        "access_key_id": "AKIDEXAMPLE",
        6210  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6211  +
    },
        6212  +
    "expiration_in_seconds": 3600,
        6213  +
    "normalize": true,
        6214  +
    "region": "us-east-1",
        6215  +
    "service": "service",
        6216  +
    "sign_body": false,
        6217  +
    "timestamp": "2015-08-30T12:36:00Z"
        6218  +
}
              \
 No newline at end of file
 4719   6219   
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
 4720   6220   
new file mode 100644
 4721   6221   
index 0000000..76db73d
 4722         -
-- /dev/null
        6222  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-canonical-request.txt
 4723   6223   
@@ -0,0 +1,9 @@
        6224  +
GET
        6225  +
/
        6226  +
        6227  +
host:example.amazonaws.com
        6228  +
x-amz-date:20150830T123600Z
        6229  +
x-amz-region-set:us-east-1
        6230  +
        6231  +
host;x-amz-date;x-amz-region-set
        6232  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4724   6233   
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
 4725   6234   
new file mode 100644
 4726   6235   
index 0000000..a96ff24
 4727         -
-- /dev/null
        6236  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signature.txt
 4728   6237   
@@ -0,0 +1 @@
        6238  +
3045022018b4e277d0281864beb51d3600e23f88510ea5031d68ddfbb68614b82a5eb7d2022100effb9c5f22ed9ef3ae0ab243d21f06bce82365bbb79529a07b6888c343ae5f8c
              \
 No newline at end of file
 4729   6239   
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
 4730   6240   
new file mode 100644
 4731   6241   
index 0000000..689078b
 4732         -
-- /dev/null
        6242  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signed-request.txt
 4733   6243   
@@ -0,0 +1,6 @@
        6244  +
GET / HTTP/1.1
        6245  +
Host:example.amazonaws.com
        6246  +
X-Amz-Date:20150830T123600Z
        6247  +
X-Amz-Region-Set:us-east-1
        6248  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100fddaaf816a31e30d04973875b13bc27b98da10907a3a1872fd5819a221334abc022100de2ee81d83b54f31efc82834de07e6cd4d5c6f25bfa08e0f29a15bb0977c343e
        6249  +
 4734   6250   
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
 4735   6251   
new file mode 100644
 4736   6252   
index 0000000..600f1d8
 4737         -
-- /dev/null
        6253  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-string-to-sign.txt
 4738   6254   
@@ -0,0 +1,4 @@
        6255  +
AWS4-ECDSA-P256-SHA256
        6256  +
20150830T123600Z
        6257  +
20150830/service/aws4_request
        6258  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4739   6259   
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
 4740   6260   
new file mode 100644
 4741   6261   
index 0000000..379dcb2
 4742         -
-- /dev/null
        6262  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/public-key.json
 4743   6263   
@@ -0,0 +1,4 @@
        6264  +
{
        6265  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6266  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6267  +
}
 4744   6268   
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
 4745   6269   
new file mode 100644
 4746   6270   
index 0000000..779c51c
 4747         -
-- /dev/null
        6271  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-canonical-request.txt
 4748   6272   
@@ -0,0 +1,7 @@
        6273  +
GET
        6274  +
/
        6275  +
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
        6276  +
host:example.amazonaws.com
        6277  +
        6278  +
host
        6279  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4749   6280   
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
 4750   6281   
new file mode 100644
 4751   6282   
index 0000000..cc42158
 4752         -
-- /dev/null
        6283  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signature.txt
 4753   6284   
@@ -0,0 +1 @@
        6285  +
3045022100b3246f8e1442dd58e73292ae1294720c3256ee58f6cea50f3a3f83b4a4b0331a0220329693f7745c9008a5887c0529ceccb0fae4e16d707b712ea66acdbaf963769a
              \
 No newline at end of file
 4754   6286   
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
 4755   6287   
new file mode 100644
 4756   6288   
index 0000000..dc6d01d
 4757         -
-- /dev/null
        6289  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signed-request.txt
 4758   6290   
@@ -0,0 +1,3 @@
        6291  +
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
        6292  +
Host:example.amazonaws.com
        6293  +
 4759   6294   
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
 4760   6295   
new file mode 100644
 4761   6296   
index 0000000..6e29a7e
 4762         -
-- /dev/null
        6297  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-string-to-sign.txt
 4763   6298   
@@ -0,0 +1,4 @@
        6299  +
AWS4-ECDSA-P256-SHA256
        6300  +
20150830T123600Z
        6301  +
20150830/service/aws4_request
        6302  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4764   6303   
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
 4765   6304   
new file mode 100644
 4766   6305   
index 0000000..e659c3b
 4767         -
-- /dev/null
        6306  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/request.txt
 4768   6307   
@@ -0,0 +1,2 @@
        6308  +
GET / HTTP/1.1
        6309  +
Host:example.amazonaws.com
 4769   6310   
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
 4770   6311   
new file mode 100644
 4771   6312   
index 0000000..600f1d8
 4772         -
-- /dev/null
        6313  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/string-to-sign.txt
 4773   6314   
@@ -0,0 +1,4 @@
        6315  +
AWS4-ECDSA-P256-SHA256
        6316  +
20150830T123600Z
        6317  +
20150830/service/aws4_request
        6318  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4774   6319   
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
 4775   6320   
new file mode 100644
 4776   6321   
index 0000000..0468d80
 4777         -
-- /dev/null
        6322  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/context.json
 4778   6323   
@@ -0,0 +1,12 @@
        6324  +
{
        6325  +
    "credentials": {
        6326  +
        "access_key_id": "AKIDEXAMPLE",
        6327  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6328  +
    },
        6329  +
    "expiration_in_seconds": 3600,
        6330  +
    "normalize": true,
        6331  +
    "region": "us-east-1",
        6332  +
    "service": "service",
        6333  +
    "sign_body": false,
        6334  +
    "timestamp": "2015-08-30T12:36:00Z"
        6335  +
}
              \
 No newline at end of file
 4779   6336   
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
 4780   6337   
similarity index 99%
 4781   6338   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-canonical-request.txt
 4782   6339   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-canonical-request.txt
 4783   6340   
index a6942c1..e881ac7 100644
 4784   6341   
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
 4785   6342   
new file mode 100644
 4786   6343   
index 0000000..4210210
 4787         -
-- /dev/null
        6344  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signature.txt
 4788   6345   
@@ -0,0 +1 @@
        6346  +
3044022025397839d55c2147eead39170f5b1758c9f9fb4ccbcda4c8612a23df8e90c13d022079f5fc1377201691a11be43def8be12fe882e998589317508ff67b8dbe982722
              \
 No newline at end of file
 4789   6347   
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
 4790   6348   
new file mode 100644
 4791   6349   
index 0000000..257b110
 4792         -
-- /dev/null
        6350  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signed-request.txt
 4793   6351   
@@ -0,0 +1,6 @@
        6352  +
POST / HTTP/1.1
        6353  +
Host:example.amazonaws.com
        6354  +
X-Amz-Date:20150830T123600Z
        6355  +
X-Amz-Region-Set:us-east-1
        6356  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304602210081bb2a93eae5cce843abe0e7cac2f0e4cecdd0a79cb8d60e5b9dc4c8e8906b61022100e18c8119f50b8218da995ada62080d88ff75d2f02309c3685a02dfb9a83b103f
        6357  +
 4794   6358   
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
 4795   6359   
similarity index 99%
 4796   6360   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-string-to-sign.txt
 4797   6361   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-string-to-sign.txt
 4798   6362   
index d5650cb..f8adf13 100644
 4799   6363   
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
 4800   6364   
new file mode 100644
 4801   6365   
index 0000000..379dcb2
 4802         -
-- /dev/null
        6366  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/public-key.json
 4803   6367   
@@ -0,0 +1,4 @@
        6368  +
{
        6369  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6370  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6371  +
}
 4804   6372   
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
 4805   6373   
similarity index 99%
 4806   6374   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-canonical-request.txt
 4807   6375   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-canonical-request.txt
 4808   6376   
index e48ce07..5ea8e3c 100644
 4809   6377   
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
 4810   6378   
new file mode 100644
 4811   6379   
index 0000000..9e2069e
 4812         -
-- /dev/null
        6380  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signature.txt
 4813   6381   
@@ -0,0 +1 @@
        6382  +
304402204afe4ce8de62e37853d0cb8a00f9601532fdeca89d6d8591c72d5bbf728bee2f02202feb0d8e680cab063e0c3c9090c0483f400511678ce83169ddce3e6d040f9ed8
              \
 No newline at end of file
 4814   6383   
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
 4815   6384   
new file mode 100644
 4816   6385   
index 0000000..67f5d29
 4817         -
-- /dev/null
        6386  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signed-request.txt
 4818   6387   
@@ -0,0 +1,3 @@
        6388  +
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
        6389  +
Host:example.amazonaws.com
        6390  +
 4819   6391   
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
 4820   6392   
similarity index 99%
 4821   6393   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-string-to-sign.txt
 4822   6394   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-string-to-sign.txt
 4823   6395   
index 34e3382..711c162 100644
 4824   6396   
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
 4825   6397   
similarity index 61%
 4826   6398   
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
 4827   6399   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 4828   6400   
index 3dc4179..3f0a82a 100644
 4829         -
-- 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
        6401  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 4830   6402   
@@ -1,3 +1,2 @@
 4831   6403   
POST / HTTP/1.1
 4832   6404   
Host:example.amazonaws.com
 4833         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4834   6405   
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
 4835   6406   
new file mode 100644
 4836   6407   
index 0000000..0468d80
 4837         -
-- /dev/null
        6408  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/context.json
 4838   6409   
@@ -0,0 +1,12 @@
        6410  +
{
        6411  +
    "credentials": {
        6412  +
        "access_key_id": "AKIDEXAMPLE",
        6413  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6414  +
    },
        6415  +
    "expiration_in_seconds": 3600,
        6416  +
    "normalize": true,
        6417  +
    "region": "us-east-1",
        6418  +
    "service": "service",
        6419  +
    "sign_body": false,
        6420  +
    "timestamp": "2015-08-30T12:36:00Z"
        6421  +
}
              \
 No newline at end of file
 4839   6422   
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
 4840   6423   
similarity index 99%
 4841   6424   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-canonical-request.txt
 4842   6425   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-canonical-request.txt
 4843   6426   
index a8e1727..2883822 100644
 4844   6427   
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
 4845   6428   
new file mode 100644
 4846   6429   
index 0000000..e3c2e6e
 4847         -
-- /dev/null
        6430  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signature.txt
 4848   6431   
@@ -0,0 +1 @@
        6432  +
304502210097752f8c9953078cbb6b370471cb7029aea9517d59fb835d8befce66a91e6c4a022043a8c62681ff76e6cbaaeaed2fff2fcfee8efceebb7bd9e562ecd5a08b2c563f
              \
 No newline at end of file
 4849   6433   
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
 4850   6434   
new file mode 100644
 4851   6435   
index 0000000..1d6e288
 4852         -
-- /dev/null
        6436  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signed-request.txt
 4853   6437   
@@ -0,0 +1,7 @@
        6438  +
POST / HTTP/1.1
        6439  +
Host:example.amazonaws.com
        6440  +
My-Header1:value1
        6441  +
X-Amz-Date:20150830T123600Z
        6442  +
X-Amz-Region-Set:us-east-1
        6443  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3046022100a5dc03771b33997d8eeb15d639cb7bdef2aff78a4a59c7996070e5f94fe149780221009a732061539208209ba0ae6755bef956c258a0c0ac6a6916489486efde21cfeb
        6444  +
 4854   6445   
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
 4855   6446   
similarity index 99%
 4856   6447   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-string-to-sign.txt
 4857   6448   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-string-to-sign.txt
 4858   6449   
index f6e3e9b..7c5236a 100644
 4859   6450   
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
 4860   6451   
new file mode 100644
 4861   6452   
index 0000000..379dcb2
 4862         -
-- /dev/null
        6453  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/public-key.json
 4863   6454   
@@ -0,0 +1,4 @@
        6455  +
{
        6456  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6457  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6458  +
}
 4864   6459   
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
 4865   6460   
similarity index 99%
 4866   6461   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-canonical-request.txt
 4867   6462   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-canonical-request.txt
 4868   6463   
index 0ae73e1..2cf3f29 100644
 4869   6464   
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
 4870   6465   
new file mode 100644
 4871   6466   
index 0000000..2a08401
 4872         -
-- /dev/null
        6467  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signature.txt
 4873   6468   
@@ -0,0 +1 @@
        6469  +
304502204f2a31513c9bea5c92dd8045e226dc1db150f768e60b538cacce157c623873dc022100ab5d654ce3c7b917656cec2cf58a3689159e89deed5241ca21e19a40173674c4
              \
 No newline at end of file
 4874   6470   
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
 4875   6471   
new file mode 100644
 4876   6472   
index 0000000..8d2343f
 4877         -
-- /dev/null
        6473  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signed-request.txt
 4878   6474   
@@ -0,0 +1,4 @@
        6475  +
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
        6476  +
Host:example.amazonaws.com
        6477  +
My-Header1:value1
        6478  +
 4879   6479   
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
 4880   6480   
similarity index 99%
 4881   6481   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-string-to-sign.txt
 4882   6482   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-string-to-sign.txt
 4883   6483   
index 8cb96bf..2c4db7a 100644
 4884   6484   
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
 4885   6485   
similarity index 69%
 4886   6486   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
 4887   6487   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 4888   6488   
index 0253f19..917720e 100644
 4889         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
        6489  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 4890   6490   
@@ -1,4 +1,3 @@
 4891   6491   
POST / HTTP/1.1
 4892   6492   
Host:example.amazonaws.com
 4893   6493   
My-Header1:value1
 4894         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4895   6494   
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
 4896   6495   
new file mode 100644
 4897   6496   
index 0000000..0468d80
 4898         -
-- /dev/null
        6497  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/context.json
 4899   6498   
@@ -0,0 +1,12 @@
        6499  +
{
        6500  +
    "credentials": {
        6501  +
        "access_key_id": "AKIDEXAMPLE",
        6502  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6503  +
    },
        6504  +
    "expiration_in_seconds": 3600,
        6505  +
    "normalize": true,
        6506  +
    "region": "us-east-1",
        6507  +
    "service": "service",
        6508  +
    "sign_body": false,
        6509  +
    "timestamp": "2015-08-30T12:36:00Z"
        6510  +
}
              \
 No newline at end of file
 4900   6511   
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
 4901   6512   
similarity index 99%
 4902   6513   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-canonical-request.txt
 4903   6514   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-canonical-request.txt
 4904   6515   
index 1dc3ef8..164e65c 100644
 4905   6516   
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
 4906   6517   
new file mode 100644
 4907   6518   
index 0000000..7072b0e
 4908         -
-- /dev/null
        6519  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signature.txt
 4909   6520   
@@ -0,0 +1 @@
        6521  +
304402207b3baf259f5d29f13511eb4c9b236045c43168ca70369ed639611f4bff9eb6490220465e922e8b19146de9c70147440f4ee80a3318f0c756c8050dbfd641e6ff0456
              \
 No newline at end of file
 4910   6522   
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
 4911   6523   
new file mode 100644
 4912   6524   
index 0000000..17f5e3e
 4913         -
-- /dev/null
        6525  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signed-request.txt
 4914   6526   
@@ -0,0 +1,7 @@
        6527  +
POST / HTTP/1.1
        6528  +
Host:example.amazonaws.com
        6529  +
My-Header1:VALUE1
        6530  +
X-Amz-Date:20150830T123600Z
        6531  +
X-Amz-Region-Set:us-east-1
        6532  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022100c72dd4d54c45d3eb30858c6227e9512f41b7379b7c685e39e0cd39a793d7ee3102205c900d330270e31d2f7b5138fb3d791b6743f6f3b9ffbc34a4adcc8307591b11
        6533  +
 4915   6534   
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
 4916   6535   
similarity index 99%
 4917   6536   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-string-to-sign.txt
 4918   6537   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-string-to-sign.txt
 4919   6538   
index 59c7e45..620f54e 100644
 4920   6539   
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
 4921   6540   
new file mode 100644
 4922   6541   
index 0000000..379dcb2
 4923         -
-- /dev/null
        6542  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/public-key.json
 4924   6543   
@@ -0,0 +1,4 @@
        6544  +
{
        6545  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6546  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6547  +
}
 4925   6548   
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
 4926   6549   
similarity index 99%
 4927   6550   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-canonical-request.txt
 4928   6551   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-canonical-request.txt
 4929   6552   
index 377e6f3..23e0da3 100644
 4930   6553   
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
 4931   6554   
new file mode 100644
 4932   6555   
index 0000000..a18acb8
 4933         -
-- /dev/null
        6556  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signature.txt
 4934   6557   
@@ -0,0 +1 @@
        6558  +
30450221009895446cb62cfb2dbb5e943baa12cad86c9d903bcfdb400f7e24391566709d8002205a12b1179a7d3569a8dfbfb8c15d0ad2e5e816aff6b2ee0c3deaf0e89fcbea80
              \
 No newline at end of file
 4935   6559   
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
 4936   6560   
new file mode 100644
 4937   6561   
index 0000000..7cbdcfa
 4938         -
-- /dev/null
        6562  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signed-request.txt
 4939   6563   
@@ -0,0 +1,4 @@
        6564  +
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
        6565  +
Host:example.amazonaws.com
        6566  +
My-Header1:VALUE1
        6567  +
 4940   6568   
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
 4941   6569   
similarity index 99%
 4942   6570   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-string-to-sign.txt
 4943   6571   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-string-to-sign.txt
 4944   6572   
index 84a7afd..0c90627 100644
 4945   6573   
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
 4946   6574   
similarity index 69%
 4947   6575   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
 4948   6576   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 4949   6577   
index 3f9987a..5f14c91 100644
 4950         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
        6578  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 4951   6579   
@@ -1,4 +1,3 @@
 4952   6580   
POST / HTTP/1.1
 4953   6581   
Host:example.amazonaws.com
 4954   6582   
My-Header1:VALUE1
 4955         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4956   6583   
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
 4957   6584   
new file mode 100644
 4958   6585   
index 0000000..8f1d5ce
 4959         -
-- /dev/null
        6586  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/context.json
 4960   6587   
@@ -0,0 +1,14 @@
        6588  +
{
        6589  +
    "credentials": {
        6590  +
        "access_key_id": "AKIDEXAMPLE",
        6591  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6592  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        6593  +
    },
        6594  +
    "expiration_in_seconds": 3600,
        6595  +
    "normalize": true,
        6596  +
    "region": "us-east-1",
        6597  +
    "service": "service",
        6598  +
    "sign_body": false,
        6599  +
    "timestamp": "2015-08-30T12:36:00Z",
        6600  +
    "omit_session_token": true
        6601  +
}
 4961   6602   
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
 4962   6603   
similarity index 99%
 4963   6604   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-canonical-request.txt
 4964   6605   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-canonical-request.txt
 4965   6606   
index a6942c1..e881ac7 100644
 4966   6607   
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
 4967   6608   
new file mode 100644
 4968   6609   
index 0000000..9c5ecb9
 4969         -
-- /dev/null
        6610  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signature.txt
 4970   6611   
@@ -0,0 +1 @@
        6612  +
3045022005936b1139f85e06856778dc6fefa39c534143129dca2e0a40d1c910d42f12f1022100b97f90927755775d36f57803214c2268a051914bbdab196c071ec24462f6baae
              \
 No newline at end of file
 4971   6613   
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
 4972   6614   
similarity index 52%
 4973   6615   
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
 4974   6616   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 4975   6617   
index 9d91775..61b6527 100644
 4976         -
-- 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
        6618  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 4977   6619   
@@ -1,4 +1,7 @@
 4978   6620   
POST / HTTP/1.1
 4979   6621   
Host:example.amazonaws.com
 4980         -
X-Amz-Date:20150830T123600Z
 4981   6622   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        6623  +
X-Amz-Date:20150830T123600Z
        6624  +
X-Amz-Region-Set:us-east-1
        6625  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100f7866e35aa214de4541aa33326aa9b5e9a409b72c9185c7a2e2d246ebb5a25a80220642e809f3d016fb3674364776c2ffadf7e7f8da94c36538a4715fa9425b52ed8
        6626  +
 4982   6627   
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
 4983   6628   
similarity index 99%
 4984   6629   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-string-to-sign.txt
 4985   6630   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-string-to-sign.txt
 4986   6631   
index d5650cb..f8adf13 100644
 4987   6632   
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
 4988   6633   
new file mode 100644
 4989   6634   
index 0000000..379dcb2
 4990         -
-- /dev/null
        6635  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/public-key.json
 4991   6636   
@@ -0,0 +1,4 @@
        6637  +
{
        6638  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6639  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6640  +
}
 4992   6641   
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
 4993   6642   
similarity index 99%
 4994   6643   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-canonical-request.txt
 4995   6644   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-canonical-request.txt
 4996   6645   
index e48ce07..5ea8e3c 100644
 4997   6646   
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
 4998   6647   
new file mode 100644
 4999   6648   
index 0000000..ff8823a
 5000         -
-- /dev/null
        6649  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signature.txt
 5001   6650   
@@ -0,0 +1 @@
        6651  +
3046022100f7c89084cbc2c276f6cbc02a6f6b353e2fb3538d02ed31f819324acf0f49cd0b022100823e6714c97899ea16d7f409989b250a911e6930112f8c73cf7d8c660bf2ed2f
              \
 No newline at end of file
 5002   6652   
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
 5003   6653   
new file mode 100644
 5004   6654   
index 0000000..cfac41b
 5005         -
-- /dev/null
        6655  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signed-request.txt
 5006   6656   
@@ -0,0 +1,3 @@
        6657  +
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
        6658  +
Host:example.amazonaws.com
        6659  +
 5007   6660   
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
 5008   6661   
similarity index 99%
 5009   6662   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-string-to-sign.txt
 5010   6663   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-string-to-sign.txt
 5011   6664   
index 34e3382..711c162 100644
 5012   6665   
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
 5013   6666   
similarity index 61%
 5014   6667   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
 5015   6668   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 5016   6669   
index 3dc4179..3f0a82a 100644
 5017         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
        6670  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 5018   6671   
@@ -1,3 +1,2 @@
 5019   6672   
POST / HTTP/1.1
 5020   6673   
Host:example.amazonaws.com
 5021         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5022   6674   
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
 5023   6675   
new file mode 100644
 5024   6676   
index 0000000..5187392
 5025         -
-- /dev/null
        6677  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/context.json
 5026   6678   
@@ -0,0 +1,14 @@
        6679  +
{
        6680  +
    "credentials": {
        6681  +
        "access_key_id": "AKIDEXAMPLE",
        6682  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6683  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        6684  +
    },
        6685  +
    "expiration_in_seconds": 3600,
        6686  +
    "normalize": true,
        6687  +
    "region": "us-east-1",
        6688  +
    "service": "service",
        6689  +
    "sign_body": false,
        6690  +
    "timestamp": "2015-08-30T12:36:00Z",
        6691  +
    "omit_session_token": false
        6692  +
}
 5027   6693   
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
 5028   6694   
similarity index 99%
 5029   6695   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-canonical-request.txt
 5030   6696   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-canonical-request.txt
 5031   6697   
index dd408c8..e95924e 100644
 5032   6698   
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
 5033   6699   
new file mode 100644
 5034   6700   
index 0000000..1573f07
 5035         -
-- /dev/null
        6701  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signature.txt
 5036   6702   
@@ -0,0 +1 @@
        6703  +
30450221009cf93687a6055c287c68f881d4a907a6c99eef88b9c908e33e15740ec5a75e43022072df645db08e18ba4cd7436b3d67691792815a353d48113c7c444bb67c630e50
              \
 No newline at end of file
 5037   6704   
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
 5038   6705   
new file mode 100644
 5039   6706   
index 0000000..6ef9a08
 5040         -
-- /dev/null
        6707  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signed-request.txt
 5041   6708   
@@ -0,0 +1,7 @@
        6709  +
POST / HTTP/1.1
        6710  +
Host:example.amazonaws.com
        6711  +
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        6712  +
X-Amz-Date:20150830T123600Z
        6713  +
X-Amz-Region-Set:us-east-1
        6714  +
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
        6715  +
 5042   6716   
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
 5043   6717   
similarity index 99%
 5044   6718   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-string-to-sign.txt
 5045   6719   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-string-to-sign.txt
 5046   6720   
index f352b54..3c3235f 100644
 5047   6721   
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
 5048   6722   
new file mode 100644
 5049   6723   
index 0000000..379dcb2
 5050         -
-- /dev/null
        6724  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/public-key.json
 5051   6725   
@@ -0,0 +1,4 @@
        6726  +
{
        6727  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6728  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6729  +
}
 5052   6730   
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
 5053   6731   
similarity index 99%
 5054   6732   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-canonical-request.txt
 5055   6733   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-canonical-request.txt
 5056   6734   
index 832cdc0..63b7de5 100644
 5057   6735   
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
 5058   6736   
new file mode 100644
 5059   6737   
index 0000000..713f57c
 5060         -
-- /dev/null
        6738  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signature.txt
 5061   6739   
@@ -0,0 +1 @@
        6740  +
304402203a4d2e9bd05ccf8b1e5834f2bb5ab81ea3b1dfbeb84388f07ab3b61ab519332a02204db83afae56ac4e713f631cd15268605d7b36119e672458d86df0cfcb68fe836
              \
 No newline at end of file
 5062   6741   
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
 5063   6742   
new file mode 100644
 5064   6743   
index 0000000..32c3bb3
 5065         -
-- /dev/null
        6744  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signed-request.txt
 5066   6745   
@@ -0,0 +1,3 @@
        6746  +
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
        6747  +
Host:example.amazonaws.com
        6748  +
 5067   6749   
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
 5068   6750   
similarity index 99%
 5069   6751   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-string-to-sign.txt
 5070   6752   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-string-to-sign.txt
 5071   6753   
index d7f3668..b46cd8c 100644
 5072   6754   
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
 5073   6755   
similarity index 60%
 5074   6756   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
 5075   6757   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 5076   6758   
index 8b5efc8..3f0a82a 100644
 5077         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
        6759  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 5078   6760   
@@ -1,3 +1,2 @@
 5079   6761   
POST / HTTP/1.1
 5080   6762   
Host:example.amazonaws.com
 5081         -
X-Amz-Date:20150830T123600Z
 5082   6763   
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
 5083   6764   
new file mode 100644
 5084   6765   
index 0000000..0468d80
 5085         -
-- /dev/null
        6766  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/context.json
 5086   6767   
@@ -0,0 +1,12 @@
        6768  +
{
        6769  +
    "credentials": {
        6770  +
        "access_key_id": "AKIDEXAMPLE",
        6771  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6772  +
    },
        6773  +
    "expiration_in_seconds": 3600,
        6774  +
    "normalize": true,
        6775  +
    "region": "us-east-1",
        6776  +
    "service": "service",
        6777  +
    "sign_body": false,
        6778  +
    "timestamp": "2015-08-30T12:36:00Z"
        6779  +
}
              \
 No newline at end of file
 5087   6780   
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
 5088   6781   
similarity index 99%
 5089   6782   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-canonical-request.txt
 5090   6783   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-canonical-request.txt
 5091   6784   
index 02af60f..34b8c11 100644
 5092   6785   
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
 5093   6786   
new file mode 100644
 5094   6787   
index 0000000..aac6427
 5095         -
-- /dev/null
        6788  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signature.txt
 5096   6789   
@@ -0,0 +1 @@
        6790  +
3045022077e142d360c6c3d6768c94c89856f6de0e4fe088328ed0a2324d78ffb73570f1022100ed84c9cd071b43d78f2d70cc1694b3ea807638c648d29a2c401cf3301b34e081
              \
 No newline at end of file
 5097   6791   
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
 5098   6792   
new file mode 100644
 5099   6793   
index 0000000..a611436
 5100         -
-- /dev/null
        6794  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signed-request.txt
 5101   6795   
@@ -0,0 +1,6 @@
        6796  +
POST /?Param1=value1 HTTP/1.1
        6797  +
Host:example.amazonaws.com
        6798  +
X-Amz-Date:20150830T123600Z
        6799  +
X-Amz-Region-Set:us-east-1
        6800  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203129b52c7149bcf5761f83d023986576af5846b9e9f11050651639f9e24c9ebd02200f7e2f6c2aed2bbb76580e50d32e8aa09dc65f7544cdb169b4a690a2a248efd3
        6801  +
 5102   6802   
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
 5103   6803   
similarity index 99%
 5104   6804   
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
 5105   6805   
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
 5106   6806   
index 4256b4f..ad88dff 100644
 5107   6807   
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
 5108   6808   
new file mode 100644
 5109   6809   
index 0000000..379dcb2
 5110         -
-- /dev/null
        6810  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/public-key.json
 5111   6811   
@@ -0,0 +1,4 @@
        6812  +
{
        6813  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6814  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6815  +
}
 5112   6816   
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
 5113   6817   
similarity index 99%
 5114   6818   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-canonical-request.txt
 5115   6819   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-canonical-request.txt
 5116   6820   
index fa84bbd..76d5ad6 100644
 5117   6821   
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
 5118   6822   
new file mode 100644
 5119   6823   
index 0000000..4cb1c94
 5120         -
-- /dev/null
        6824  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signature.txt
 5121   6825   
@@ -0,0 +1 @@
        6826  +
3045022100df7ad6c7c07d989d8bf5bdc3953a5992ceb0e0acb40c8fba0fdb2e12b1003a0e022002a3b1109182bf60285df0b581ce2d8c6665215d7c0ae4bc32a43a30bad21626
              \
 No newline at end of file
 5122   6827   
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
 5123   6828   
new file mode 100644
 5124   6829   
index 0000000..bd22b97
 5125         -
-- /dev/null
        6830  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signed-request.txt
 5126   6831   
@@ -0,0 +1,3 @@
        6832  +
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
        6833  +
Host:example.amazonaws.com
        6834  +
 5127   6835   
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
 5128   6836   
similarity index 99%
 5129   6837   
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
 5130   6838   
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
 5131   6839   
index de270ef..8c9d319 100644
 5132   6840   
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
 5133   6841   
similarity index 67%
 5134   6842   
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
 5135   6843   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 5136   6844   
index 9157bc7..c9d6e5d 100644
 5137         -
-- 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
        6845  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 5138   6846   
@@ -1,3 +1,2 @@
 5139   6847   
POST /?Param1=value1 HTTP/1.1
 5140   6848   
Host:example.amazonaws.com
 5141         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5142   6849   
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
 5143   6850   
new file mode 100644
 5144   6851   
index 0000000..0468d80
 5145         -
-- /dev/null
        6852  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/context.json
 5146   6853   
@@ -0,0 +1,12 @@
        6854  +
{
        6855  +
    "credentials": {
        6856  +
        "access_key_id": "AKIDEXAMPLE",
        6857  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6858  +
    },
        6859  +
    "expiration_in_seconds": 3600,
        6860  +
    "normalize": true,
        6861  +
    "region": "us-east-1",
        6862  +
    "service": "service",
        6863  +
    "sign_body": false,
        6864  +
    "timestamp": "2015-08-30T12:36:00Z"
        6865  +
}
              \
 No newline at end of file
 5147   6866   
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
 5148   6867   
similarity index 99%
 5149   6868   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-canonical-request.txt
 5150   6869   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-canonical-request.txt
 5151   6870   
index 02af60f..34b8c11 100644
 5152   6871   
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
 5153   6872   
new file mode 100644
 5154   6873   
index 0000000..34f75c8
 5155         -
-- /dev/null
        6874  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signature.txt
 5156   6875   
@@ -0,0 +1 @@
        6876  +
3046022100b876f1bd2e85da20227bf515463de11ed5334e78e559bf814ce39c6a500af453022100a0a4797c60fda7bca3af5ae71680853b0c4e401d3da0821e3266062ff3463275
              \
 No newline at end of file
 5157   6877   
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
 5158   6878   
new file mode 100644
 5159   6879   
index 0000000..c731408
 5160         -
-- /dev/null
        6880  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signed-request.txt
 5161   6881   
@@ -0,0 +1,6 @@
        6882  +
POST /?Param1=value1 HTTP/1.1
        6883  +
Host:example.amazonaws.com
        6884  +
X-Amz-Date:20150830T123600Z
        6885  +
X-Amz-Region-Set:us-east-1
        6886  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402202785ef1eddce96aa4f4cb359f00fcb1155fa7f679b4af8949a8ea097381543fc02205a9719949fcc5452e690dcd2426318aa17d87aa67c68fdd66f815ae2d3591b49
        6887  +
 5162   6888   
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
 5163   6889   
similarity index 99%
 5164   6890   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-string-to-sign.txt
 5165   6891   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-string-to-sign.txt
 5166   6892   
index 4256b4f..ad88dff 100644
 5167   6893   
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
 5168   6894   
new file mode 100644
 5169   6895   
index 0000000..379dcb2
 5170         -
-- /dev/null
        6896  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/public-key.json
 5171   6897   
@@ -0,0 +1,4 @@
        6898  +
{
        6899  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6900  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6901  +
}
 5172   6902   
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
 5173   6903   
similarity index 99%
 5174   6904   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-canonical-request.txt
 5175   6905   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-canonical-request.txt
 5176   6906   
index fa84bbd..76d5ad6 100644
 5177   6907   
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
 5178   6908   
new file mode 100644
 5179   6909   
index 0000000..ae000d6
 5180         -
-- /dev/null
        6910  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signature.txt
 5181   6911   
@@ -0,0 +1 @@
        6912  +
304402206c9877a31b4f7d0118d45b1e1ac58ed605f2d7ded4005d59c86ac7331737097302201772085759c0ab0ecbf67a85128823319866ee7118945cf569dd17f678aafce5
              \
 No newline at end of file
 5182   6913   
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
 5183   6914   
new file mode 100644
 5184   6915   
index 0000000..a868f7d
 5185         -
-- /dev/null
        6916  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signed-request.txt
 5186   6917   
@@ -0,0 +1,3 @@
        6918  +
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
        6919  +
Host:example.amazonaws.com
        6920  +
 5187   6921   
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
 5188   6922   
similarity index 99%
 5189   6923   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-string-to-sign.txt
 5190   6924   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-string-to-sign.txt
 5191   6925   
index de270ef..8c9d319 100644
 5192   6926   
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
 5193   6927   
similarity index 67%
 5194   6928   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
 5195   6929   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 5196   6930   
index 9157bc7..c9d6e5d 100644
 5197         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
        6931  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 5198   6932   
@@ -1,3 +1,2 @@
 5199   6933   
POST /?Param1=value1 HTTP/1.1
 5200   6934   
Host:example.amazonaws.com
 5201         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5202   6935   
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
 5203   6936   
new file mode 100644
 5204   6937   
index 0000000..0468d80
 5205         -
-- /dev/null
        6938  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/context.json
 5206   6939   
@@ -0,0 +1,12 @@
        6940  +
{
        6941  +
    "credentials": {
        6942  +
        "access_key_id": "AKIDEXAMPLE",
        6943  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6944  +
    },
        6945  +
    "expiration_in_seconds": 3600,
        6946  +
    "normalize": true,
        6947  +
    "region": "us-east-1",
        6948  +
    "service": "service",
        6949  +
    "sign_body": false,
        6950  +
    "timestamp": "2015-08-30T12:36:00Z"
        6951  +
}
              \
 No newline at end of file
 5207   6952   
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
 5208   6953   
similarity index 99%
 5209   6954   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-canonical-request.txt
 5210   6955   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-canonical-request.txt
 5211   6956   
index a6942c1..e881ac7 100644
 5212   6957   
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
 5213   6958   
new file mode 100644
 5214   6959   
index 0000000..7c5e47b
 5215         -
-- /dev/null
        6960  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signature.txt
 5216   6961   
@@ -0,0 +1 @@
        6962  +
3044022051fe398025aafbfc21d054bc78e5edfb96c9acb7fd272795565181d757815e4702202e7b8d2b92324290b1d95f8b0fc5e333bb8b5e333f6160bcab39d7258156d224
              \
 No newline at end of file
 5217   6963   
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
 5218   6964   
new file mode 100644
 5219   6965   
index 0000000..c0e50a0
 5220         -
-- /dev/null
        6966  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signed-request.txt
 5221   6967   
@@ -0,0 +1,6 @@
        6968  +
POST / HTTP/1.1
        6969  +
Host:example.amazonaws.com
        6970  +
X-Amz-Date:20150830T123600Z
        6971  +
X-Amz-Region-Set:us-east-1
        6972  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022020e04d83be1fc4c7669eb2530c48444ff2ef65e73ab6d4084ba89b886b70d01a0220570df05bd3ba39ccd96a3e831ed8757fbb516baa603d78eaed3ccc95d50a2abb
        6973  +
 5222   6974   
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
 5223   6975   
similarity index 99%
 5224   6976   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-string-to-sign.txt
 5225   6977   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-string-to-sign.txt
 5226   6978   
index d5650cb..f8adf13 100644
 5227   6979   
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
 5228   6980   
new file mode 100644
 5229   6981   
index 0000000..379dcb2
 5230         -
-- /dev/null
        6982  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/public-key.json
 5231   6983   
@@ -0,0 +1,4 @@
        6984  +
{
        6985  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6986  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6987  +
}
 5232   6988   
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
 5233   6989   
similarity index 99%
 5234   6990   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-canonical-request.txt
 5235   6991   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-canonical-request.txt
 5236   6992   
index e48ce07..5ea8e3c 100644
 5237   6993   
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
 5238   6994   
new file mode 100644
 5239   6995   
index 0000000..ea8e3b4
 5240         -
-- /dev/null
        6996  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signature.txt
 5241   6997   
@@ -0,0 +1 @@
        6998  +
30440220158b75ce84ef2d97a0b287759f9104b9e093ef3a912a84bd78d30274d08c10c4022064fb9961da1d951aba42455df5752c3e3fa8055cd053b59ad53b140d54f6aafd
              \
 No newline at end of file
 5242   6999   
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
 5243   7000   
new file mode 100644
 5244   7001   
index 0000000..616973f
 5245         -
-- /dev/null
        7002  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signed-request.txt
 5246   7003   
@@ -0,0 +1,3 @@
        7004  +
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
        7005  +
Host:example.amazonaws.com
        7006  +
 5247   7007   
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
 5248   7008   
similarity index 99%
 5249   7009   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-string-to-sign.txt
 5250   7010   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-string-to-sign.txt
 5251   7011   
index 34e3382..711c162 100644
 5252   7012   
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
 5253   7013   
new file mode 100644
 5254   7014   
index 0000000..3f0a82a
 5255         -
-- /dev/null
        7015  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/request.txt
 5256   7016   
@@ -0,0 +1,2 @@
        7017  +
POST / HTTP/1.1
        7018  +
Host:example.amazonaws.com
 5257   7019   
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
 5258   7020   
new file mode 100644
 5259   7021   
index 0000000..0db1df1
 5260         -
-- /dev/null
        7022  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/context.json
 5261   7023   
@@ -0,0 +1,12 @@
        7024  +
{
        7025  +
    "credentials": {
        7026  +
        "access_key_id": "AKIDEXAMPLE",
        7027  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7028  +
    },
        7029  +
    "expiration_in_seconds": 3600,
        7030  +
    "normalize": true,
        7031  +
    "region": "us-east-1",
        7032  +
    "service": "service",
        7033  +
    "sign_body": true,
        7034  +
    "timestamp": "2015-08-30T12:36:00Z"
        7035  +
}
              \
 No newline at end of file
 5262   7036   
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
 5263   7037   
similarity index 62%
 5264   7038   
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
 5265   7039   
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
 5266   7040   
index 05ab787..62639b2 100644
 5267         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
        7041  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 5268   7042   
@@ -1,12 +1,12 @@
 5269   7043   
POST
 5270   7044   
/
 5271   7045   
 5272   7046   
content-length:13
 5273   7047   
content-type:application/x-www-form-urlencoded; charset=utf-8
 5274   7048   
host:example.amazonaws.com
 5275         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7049  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 5276   7050   
x-amz-date:20150830T123600Z
 5277   7051   
x-amz-region-set:us-east-1
 5278   7052   
 5279   7053   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 5280         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7054  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5281   7055   
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
 5282   7056   
new file mode 100644
 5283   7057   
index 0000000..006ec2e
 5284         -
-- /dev/null
        7058  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signature.txt
 5285   7059   
@@ -0,0 +1 @@
        7060  +
3045022100eaa8151b5a6e60d9c52dfa60d186a304d0226984aa9ed21f2913267cdfd365c902203bfd4e6dfea58e68d3cb892939f3a00ac91e80c8df69828aefa1e48245928678
              \
 No newline at end of file
 5286   7061   
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
 5287   7062   
new file mode 100644
 5288   7063   
index 0000000..87a11f2
 5289         -
-- /dev/null
        7064  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 5290   7065   
@@ -0,0 +1,10 @@
        7066  +
POST / HTTP/1.1
        7067  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        7068  +
Host:example.amazonaws.com
        7069  +
Content-Length:13
        7070  +
X-Amz-Date:20150830T123600Z
        7071  +
X-Amz-Region-Set:us-east-1
        7072  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        7073  +
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
        7074  +
        7075  +
Param1=value1
              \
 No newline at end of file
 5291   7076   
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
 5292   7077   
new file mode 100644
 5293   7078   
index 0000000..c047afb
 5294         -
-- /dev/null
        7079  +
++ 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
 5295   7080   
@@ -0,0 +1,4 @@
        7081  +
AWS4-ECDSA-P256-SHA256
        7082  +
20150830T123600Z
        7083  +
20150830/service/aws4_request
        7084  +
bcdb9ab3050c0bb18c5e9eb60e6eb1aaaf00907920065569a99b0c51278639b5
              \
 No newline at end of file
 5296   7085   
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
 5297   7086   
new file mode 100644
 5298   7087   
index 0000000..379dcb2
 5299         -
-- /dev/null
        7088  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/public-key.json
 5300   7089   
@@ -0,0 +1,4 @@
        7090  +
{
        7091  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7092  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7093  +
}
 5301   7094   
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
 5302   7095   
similarity index 85%
 5303   7096   
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
 5304   7097   
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
 5305   7098   
index fcc454f..6933a8c 100644
 5306         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
        7099  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 5307   7100   
@@ -1,9 +1,9 @@
 5308   7101   
POST
 5309   7102   
/
 5310   7103   
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
 5311   7104   
content-length:13
 5312   7105   
content-type:application/x-www-form-urlencoded; charset=utf-8
 5313   7106   
host:example.amazonaws.com
 5314   7107   
 5315   7108   
content-length;content-type;host
 5316         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7109  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5317   7110   
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
 5318   7111   
new file mode 100644
 5319   7112   
index 0000000..34a2e12
 5320         -
-- /dev/null
        7113  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signature.txt
 5321   7114   
@@ -0,0 +1 @@
        7115  +
3046022100dcfa462c480d85707221a690323639df78fb10eb2f4913abcfc4eec215c39fb8022100bad863cf9d951963fc2d8068a2887742d553283e5086f644e3ca9ff8b262e13c
              \
 No newline at end of file
 5322   7116   
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
 5323   7117   
new file mode 100644
 5324   7118   
index 0000000..197b99e
 5325         -
-- /dev/null
        7119  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 5326   7120   
@@ -0,0 +1,6 @@
        7121  +
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
        7122  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        7123  +
Host:example.amazonaws.com
        7124  +
Content-Length:13
        7125  +
        7126  +
Param1=value1
              \
 No newline at end of file
 5327   7127   
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
 5328   7128   
new file mode 100644
 5329   7129   
index 0000000..9d2bc74
 5330         -
-- /dev/null
        7130  +
++ 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
 5331   7131   
@@ -0,0 +1,4 @@
        7132  +
AWS4-ECDSA-P256-SHA256
        7133  +
20150830T123600Z
        7134  +
20150830/service/aws4_request
        7135  +
d4dab970413a0459d2a3bb644b278e96e85f2f6ac8fa09a74bbd6a269ec3dd82
              \
 No newline at end of file
 5332   7136   
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
 5333   7137   
similarity index 80%
 5334   7138   
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
 5335   7139   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 5336   7140   
index 36015f1..8289eaa 100644
 5337         -
-- 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
        7141  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 5338   7142   
@@ -1,6 +1,6 @@
 5339   7143   
POST / HTTP/1.1
 5340   7144   
Content-Type:application/x-www-form-urlencoded; charset=utf-8
 5341   7145   
Host:example.amazonaws.com
 5342         -
X-Amz-Date:20150830T123600Z
        7146  +
Content-Length:13
 5343   7147   
 5344   7148   
Param1=value1
              \
 No newline at end of file
 5345   7149   
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
 5346   7150   
new file mode 100644
 5347   7151   
index 0000000..0db1df1
 5348         -
-- /dev/null
        7152  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/context.json
 5349   7153   
@@ -0,0 +1,12 @@
        7154  +
{
        7155  +
    "credentials": {
        7156  +
        "access_key_id": "AKIDEXAMPLE",
        7157  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7158  +
    },
        7159  +
    "expiration_in_seconds": 3600,
        7160  +
    "normalize": true,
        7161  +
    "region": "us-east-1",
        7162  +
    "service": "service",
        7163  +
    "sign_body": true,
        7164  +
    "timestamp": "2015-08-30T12:36:00Z"
        7165  +
}
              \
 No newline at end of file
 5350   7166   
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
 5351   7167   
similarity index 61%
 5352   7168   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
 5353   7169   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 5354   7170   
index 69009dc..797632b 100644
 5355         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
        7171  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 5356   7172   
@@ -1,12 +1,12 @@
 5357   7173   
POST
 5358   7174   
/
 5359   7175   
 5360   7176   
content-length:13
 5361   7177   
content-type:application/x-www-form-urlencoded
 5362   7178   
host:example.amazonaws.com
 5363         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7179  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 5364   7180   
x-amz-date:20150830T123600Z
 5365   7181   
x-amz-region-set:us-east-1
 5366   7182   
 5367   7183   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 5368         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7184  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5369   7185   
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
 5370   7186   
new file mode 100644
 5371   7187   
index 0000000..f5a641c
 5372         -
-- /dev/null
        7188  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signature.txt
 5373   7189   
@@ -0,0 +1 @@
        7190  +
304402202dc0a1ca6ca9308bece143f48201f2500761a242ba6efc7857e1ba01a022e843022053f570cb5adf521df2f6732b5077becd86bc2073b30e9d48c2057851902c1c0e
              \
 No newline at end of file
 5374   7191   
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
 5375   7192   
new file mode 100644
 5376   7193   
index 0000000..7bd94a7
 5377         -
-- /dev/null
        7194  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signed-request.txt
 5378   7195   
@@ -0,0 +1,10 @@
        7196  +
POST / HTTP/1.1
        7197  +
Content-Type:application/x-www-form-urlencoded
        7198  +
Host:example.amazonaws.com
        7199  +
Content-Length:13
        7200  +
X-Amz-Date:20150830T123600Z
        7201  +
X-Amz-Region-Set:us-east-1
        7202  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        7203  +
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
        7204  +
        7205  +
Param1=value1
              \
 No newline at end of file
 5379   7206   
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
 5380   7207   
new file mode 100644
 5381   7208   
index 0000000..8d25ba9
 5382         -
-- /dev/null
        7209  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-string-to-sign.txt
 5383   7210   
@@ -0,0 +1,4 @@
        7211  +
AWS4-ECDSA-P256-SHA256
        7212  +
20150830T123600Z
        7213  +
20150830/service/aws4_request
        7214  +
ba7fa291aefad463b308fdc89b33d852aea9fbcfa151d820117bd8189066cb91
              \
 No newline at end of file
 5384   7215   
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
 5385   7216   
new file mode 100644
 5386   7217   
index 0000000..379dcb2
 5387         -
-- /dev/null
        7218  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/public-key.json
 5388   7219   
@@ -0,0 +1,4 @@
        7220  +
{
        7221  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7222  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7223  +
}
 5389   7224   
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
 5390   7225   
similarity index 99%
 5391   7226   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-canonical-request.txt
 5392   7227   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-canonical-request.txt
 5393   7228   
index 9ed065b..563ff58 100644
 5394   7229   
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
 5395   7230   
new file mode 100644
 5396   7231   
index 0000000..0c77daf
 5397         -
-- /dev/null
        7232  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signature.txt
 5398   7233   
@@ -0,0 +1 @@
        7234  +
304402205e21d399153f879b0f32c38742d12941299467bfdc213224cc76a97acffd6ec6022035a9be37a38c19e98e5cfc536fabe885e82fbf999081234b364cab5cacff8733
              \
 No newline at end of file
 5399   7235   
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
 5400   7236   
new file mode 100644
 5401   7237   
index 0000000..71d6de9
 5402         -
-- /dev/null
        7238  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signed-request.txt
 5403   7239   
@@ -0,0 +1,6 @@
        7240  +
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
        7241  +
Content-Type:application/x-www-form-urlencoded
        7242  +
Host:example.amazonaws.com
        7243  +
Content-Length:13
        7244  +
        7245  +
Param1=value1
              \
 No newline at end of file
 5404   7246   
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
 5405   7247   
similarity index 99%
 5406   7248   
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
 5407   7249   
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
 5408   7250   
index bef3143..cc7a224 100644
 5409   7251   
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
 5410   7252   
new file mode 100644
 5411   7253   
index 0000000..760b2d3
 5412         -
-- /dev/null
        7254  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/request.txt
 5413   7255   
@@ -0,0 +1,6 @@
        7256  +
POST / HTTP/1.1
        7257  +
Content-Type:application/x-www-form-urlencoded
        7258  +
Host:example.amazonaws.com
        7259  +
Content-Length:13
        7260  +
        7261  +
Param1=value1
              \
 No newline at end of file
 5414   7262   
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
 5415   7263   
index 9bd636f..b53f33f 100644
 5416         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
        7264  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
 5417   7265   
@@ -346,67 +346,78 @@ impl CanonicalRequest<'_> {
 5418   7266   
            params.push((Cow::Borrowed(k), Cow::Borrowed(v)));
 5419   7267   
        }
 5420   7268   
 5421   7269   
        if let SignatureValues::QueryParams(values) = values {
 5422   7270   
            add_param(&mut params, param::X_AMZ_DATE, &values.date_time);
 5423   7271   
            add_param(&mut params, param::X_AMZ_EXPIRES, &values.expires);
 5424   7272   
 5425   7273   
            #[cfg(feature = "sigv4a")]
 5426   7274   
            if let Some(regions) = values.region_set {
 5427   7275   
                add_param(&mut params, sigv4a::param::X_AMZ_REGION_SET, regions);
 5428   7276   
            }
 5429   7277   
 5430   7278   
            add_param(&mut params, param::X_AMZ_ALGORITHM, values.algorithm);
 5431   7279   
            add_param(&mut params, param::X_AMZ_CREDENTIAL, &values.credential);
 5432   7280   
            add_param(
 5433   7281   
                &mut params,
 5434   7282   
                param::X_AMZ_SIGNED_HEADERS,
 5435   7283   
                values.signed_headers.as_str(),
 5436   7284   
            );
 5437   7285   
 5438   7286   
            if let Some(security_token) = values.security_token {
 5439   7287   
                add_param(
 5440   7288   
                    &mut params,
 5441   7289   
                    settings
 5442   7290   
                        .session_token_name_override
 5443   7291   
                        .unwrap_or(param::X_AMZ_SECURITY_TOKEN),
 5444   7292   
                    security_token,
 5445   7293   
                );
 5446   7294   
            }
 5447   7295   
        }
 5448         -
        // Sort by param name, and then by param value
        7296  +
        7297  +
        // Sort on the _encoded_ key/value pairs
        7298  +
        let mut params: Vec<(String, String)> = params
        7299  +
            .into_iter()
        7300  +
            .map(|x| {
        7301  +
                use aws_smithy_http::query::fmt_string;
        7302  +
                let enc_k = fmt_string(&x.0);
        7303  +
                let enc_v = fmt_string(&x.1);
        7304  +
                (enc_k, enc_v)
        7305  +
            })
        7306  +
            .collect();
        7307  +
 5449   7308   
        params.sort();
 5450   7309   
 5451   7310   
        let mut query = QueryWriter::new(uri);
 5452   7311   
        query.clear_params();
 5453   7312   
        for (key, value) in params {
 5454         -
            query.insert(&key, &value);
        7313  +
            query.insert_encoded(&key, &value);
 5455   7314   
        }
 5456   7315   
 5457   7316   
        let query = query.build_query();
 5458   7317   
        if query.is_empty() {
 5459   7318   
            None
 5460   7319   
        } else {
 5461   7320   
            Some(query)
 5462   7321   
        }
 5463   7322   
    }
 5464   7323   
 5465   7324   
    fn insert_host_header(
 5466   7325   
        canonical_headers: &mut HeaderMap<HeaderValue>,
 5467   7326   
        uri: &Uri,
 5468   7327   
    ) -> HeaderValue {
 5469   7328   
        match canonical_headers.get(&HOST) {
 5470   7329   
            Some(header) => header.clone(),
 5471   7330   
            None => {
 5472   7331   
                let port = uri.port();
 5473   7332   
                let scheme = uri.scheme();
 5474   7333   
                let authority = uri
 5475   7334   
                    .authority()
 5476   7335   
                    .expect("request uri authority must be set for signing")
 5477   7336   
                    .as_str();
 5478   7337   
                let host = uri
 5479   7338   
                    .host()
 5480   7339   
                    .expect("request uri host must be set for signing");
 5481   7340   
 5482   7341   
                // Check if port is default (80 for HTTP, 443 for HTTPS) and if so exclude it from the
 5483   7342   
                // Host header when signing since RFC 2616 indicates that the default port should not be
 5484   7343   
                // sent in the Host header (and Hyper strips default ports if they are present)
 5485   7344   
@@ -642,310 +653,320 @@ impl<'a> StringToSign<'a> {
 5486   7345   
            service,
 5487   7346   
            hashed_creq,
 5488   7347   
            signature_version: SignatureVersion::V4a,
 5489   7348   
        }
 5490   7349   
    }
 5491   7350   
}
 5492   7351   
 5493   7352   
impl fmt::Display for StringToSign<'_> {
 5494   7353   
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
 5495   7354   
        write!(
 5496   7355   
            f,
 5497   7356   
            "{}\n{}\n{}\n{}",
 5498   7357   
            self.algorithm,
 5499   7358   
            format_date_time(self.time),
 5500   7359   
            match self.signature_version {
 5501   7360   
                SignatureVersion::V4 => self.scope.to_string(),
 5502   7361   
                SignatureVersion::V4a => self.scope.v4a_display(),
 5503   7362   
            },
 5504   7363   
            self.hashed_creq
 5505   7364   
        )
 5506   7365   
    }
 5507   7366   
}
 5508   7367   
 5509   7368   
#[cfg(test)]
 5510   7369   
mod tests {
 5511   7370   
    use crate::date_time::test_parsers::parse_date_time;
 5512   7371   
    use crate::http_request::canonical_request::{
 5513   7372   
        normalize_header_value, trim_all, CanonicalRequest, SigningScope, StringToSign,
 5514   7373   
    };
 5515   7374   
    use crate::http_request::test;
        7375  +
    use crate::http_request::test::SigningSuiteTest;
 5516   7376   
    use crate::http_request::{
 5517   7377   
        PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
 5518   7378   
        SigningParams, SigningSettings,
 5519   7379   
    };
 5520   7380   
    use crate::sign::v4;
 5521   7381   
    use crate::sign::v4::sha256_hex_string;
 5522   7382   
    use aws_credential_types::Credentials;
 5523   7383   
    use aws_smithy_http::query_writer::QueryWriter;
 5524   7384   
    use aws_smithy_runtime_api::client::identity::Identity;
 5525   7385   
    use http0::{HeaderValue, Uri};
 5526   7386   
    use pretty_assertions::assert_eq;
 5527   7387   
    use proptest::{prelude::*, proptest};
 5528   7388   
    use std::borrow::Cow;
 5529   7389   
    use std::time::Duration;
 5530   7390   
 5531   7391   
    fn signing_params(identity: &Identity, settings: SigningSettings) -> SigningParams<'_> {
 5532   7392   
        v4::signing_params::Builder::default()
 5533   7393   
            .identity(identity)
 5534   7394   
            .region("test-region")
 5535   7395   
            .name("testservicename")
 5536   7396   
            .time(parse_date_time("20210511T154045Z").unwrap())
 5537   7397   
            .settings(settings)
 5538   7398   
            .build()
 5539   7399   
            .unwrap()
 5540   7400   
            .into()
 5541   7401   
    }
 5542   7402   
 5543   7403   
    #[test]
 5544   7404   
    fn test_repeated_header() {
 5545         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7405  +
        let test = test::SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7406  +
        let mut req = test.request();
 5546   7407   
        req.headers.push((
 5547   7408   
            "x-amz-object-attributes".to_string(),
 5548   7409   
            "Checksum".to_string(),
 5549   7410   
        ));
 5550   7411   
        req.headers.push((
 5551   7412   
            "x-amz-object-attributes".to_string(),
 5552   7413   
            "ObjectSize".to_string(),
 5553   7414   
        ));
 5554   7415   
        let req = SignableRequest::from(&req);
 5555   7416   
        let settings = SigningSettings {
 5556   7417   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5557   7418   
            session_token_mode: SessionTokenMode::Exclude,
 5558   7419   
            ..Default::default()
 5559   7420   
        };
 5560   7421   
        let identity = Credentials::for_tests().into();
 5561   7422   
        let signing_params = signing_params(&identity, settings);
 5562   7423   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5563   7424   
 5564   7425   
        assert_eq!(
 5565   7426   
            creq.values.signed_headers().to_string(),
 5566   7427   
            "host;x-amz-content-sha256;x-amz-date;x-amz-object-attributes"
 5567   7428   
        );
 5568   7429   
        assert_eq!(
 5569   7430   
            creq.header_values_for("x-amz-object-attributes"),
 5570   7431   
            "Checksum,ObjectSize",
 5571   7432   
        );
 5572   7433   
    }
 5573   7434   
 5574   7435   
    #[test]
 5575   7436   
    fn test_host_header_properly_handles_ports() {
 5576   7437   
        fn host_header_test_setup(endpoint: String) -> String {
 5577         -
            let mut req = test::v4::test_request("get-vanilla");
        7438  +
            let test = SigningSuiteTest::v4("get-vanilla");
        7439  +
            let mut req = test.request();
 5578   7440   
            req.uri = endpoint;
 5579   7441   
            let req = SignableRequest::from(&req);
 5580   7442   
            let settings = SigningSettings {
 5581   7443   
                payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5582   7444   
                session_token_mode: SessionTokenMode::Exclude,
 5583   7445   
                ..Default::default()
 5584   7446   
            };
 5585   7447   
            let identity = Credentials::for_tests().into();
 5586   7448   
            let signing_params = signing_params(&identity, settings);
 5587   7449   
            let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5588   7450   
            creq.header_values_for("host")
 5589   7451   
        }
 5590   7452   
 5591   7453   
        // HTTP request with 80 port should not be signed with that port
 5592   7454   
        let http_80_host_header = host_header_test_setup("http://localhost:80".into());
 5593   7455   
        assert_eq!(http_80_host_header, "localhost",);
 5594   7456   
 5595   7457   
        // HTTP request with non-80 port should be signed with that port
 5596   7458   
        let http_1234_host_header = host_header_test_setup("http://localhost:1234".into());
 5597   7459   
        assert_eq!(http_1234_host_header, "localhost:1234",);
 5598   7460   
 5599   7461   
        // HTTPS request with 443 port should not be signed with that port
 5600   7462   
        let https_443_host_header = host_header_test_setup("https://localhost:443".into());
 5601   7463   
        assert_eq!(https_443_host_header, "localhost",);
 5602   7464   
 5603   7465   
        // HTTPS request with non-443 port should be signed with that port
 5604   7466   
        let https_1234_host_header = host_header_test_setup("https://localhost:1234".into());
 5605   7467   
        assert_eq!(https_1234_host_header, "localhost:1234",);
 5606   7468   
    }
 5607   7469   
 5608   7470   
    #[test]
 5609   7471   
    fn test_set_xamz_sha_256() {
 5610         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        7472  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7473  +
        let req = test.request();
 5611   7474   
        let req = SignableRequest::from(&req);
 5612   7475   
        let settings = SigningSettings {
 5613   7476   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5614   7477   
            session_token_mode: SessionTokenMode::Exclude,
 5615   7478   
            ..Default::default()
 5616   7479   
        };
 5617   7480   
        let identity = Credentials::for_tests().into();
 5618   7481   
        let mut signing_params = signing_params(&identity, settings);
 5619   7482   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5620   7483   
        assert_eq!(
 5621   7484   
            creq.values.content_sha256(),
 5622   7485   
            "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
 5623   7486   
        );
 5624   7487   
        // assert that the sha256 header was added
 5625   7488   
        assert_eq!(
 5626   7489   
            creq.values.signed_headers().as_str(),
 5627   7490   
            "host;x-amz-content-sha256;x-amz-date"
 5628   7491   
        );
 5629   7492   
 5630   7493   
        signing_params.set_payload_checksum_kind(PayloadChecksumKind::NoHeader);
 5631   7494   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5632   7495   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 5633   7496   
    }
 5634   7497   
 5635   7498   
    #[test]
 5636   7499   
    fn test_unsigned_payload() {
 5637         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7500  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7501  +
        let mut req = test.request();
 5638   7502   
        req.set_body(SignableBody::UnsignedPayload);
 5639   7503   
        let req: SignableRequest<'_> = SignableRequest::from(&req);
 5640   7504   
 5641   7505   
        let settings = SigningSettings {
 5642   7506   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5643   7507   
            ..Default::default()
 5644   7508   
        };
 5645   7509   
        let identity = Credentials::for_tests().into();
 5646   7510   
        let signing_params = signing_params(&identity, settings);
 5647   7511   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5648   7512   
        assert_eq!(creq.values.content_sha256(), "UNSIGNED-PAYLOAD");
 5649   7513   
        assert!(creq.to_string().ends_with("UNSIGNED-PAYLOAD"));
 5650   7514   
    }
 5651   7515   
 5652   7516   
    #[test]
 5653   7517   
    fn test_precomputed_payload() {
 5654   7518   
        let payload_hash = "44ce7dd67c959e0d3524ffac1771dfbba87d2b6b4b4e99e42034a8b803f8b072";
 5655         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7519  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7520  +
        let mut req = test.request();
 5656   7521   
        req.set_body(SignableBody::Precomputed(String::from(payload_hash)));
 5657   7522   
        let req = SignableRequest::from(&req);
 5658   7523   
        let settings = SigningSettings {
 5659   7524   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5660   7525   
            ..Default::default()
 5661   7526   
        };
 5662   7527   
        let identity = Credentials::for_tests().into();
 5663   7528   
        let signing_params = signing_params(&identity, settings);
 5664   7529   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5665   7530   
        assert_eq!(creq.values.content_sha256(), payload_hash);
 5666   7531   
        assert!(creq.to_string().ends_with(payload_hash));
 5667   7532   
    }
 5668   7533   
 5669   7534   
    #[test]
 5670   7535   
    fn test_generate_scope() {
 5671   7536   
        let expected = "20150830/us-east-1/iam/aws4_request\n";
 5672   7537   
        let scope = SigningScope {
 5673   7538   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5674   7539   
            region: "us-east-1",
 5675   7540   
            service: "iam",
 5676   7541   
        };
 5677   7542   
        assert_eq!(format!("{}\n", scope), expected);
 5678   7543   
    }
 5679   7544   
 5680   7545   
    #[test]
 5681   7546   
    fn test_string_to_sign() {
 5682   7547   
        let time = parse_date_time("20150830T123600Z").unwrap();
 5683         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
 5684         -
        let expected_sts = test::v4::test_sts("get-vanilla-query-order-key-case");
        7548  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7549  +
        let creq = test.canonical_request(SignatureLocation::Headers);
        7550  +
        let expected_sts = test.string_to_sign(SignatureLocation::Headers);
 5685   7551   
        let encoded = sha256_hex_string(creq.as_bytes());
 5686   7552   
 5687   7553   
        let actual = StringToSign::new_v4(time, "us-east-1", "service", &encoded);
 5688   7554   
        assert_eq!(expected_sts, actual.to_string());
 5689   7555   
    }
 5690   7556   
 5691   7557   
    #[test]
 5692   7558   
    fn test_digest_of_canonical_request() {
 5693         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
        7559  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7560  +
        let creq = test.canonical_request(SignatureLocation::Headers);
 5694   7561   
        let expected = "816cd5b414d056048ba4f7c5386d6e0533120fb1fcfa93762cf0fc39e2cf19e0";
 5695   7562   
        let actual = sha256_hex_string(creq.as_bytes());
 5696   7563   
        assert_eq!(expected, actual);
 5697   7564   
    }
 5698   7565   
 5699   7566   
    #[test]
 5700   7567   
    fn test_double_url_encode_path() {
 5701         -
        let req = test::v4::test_request("double-encode-path");
        7568  +
        let test = SigningSuiteTest::v4("double-encode-path");
        7569  +
        let req = test.request();
 5702   7570   
        let req = SignableRequest::from(&req);
 5703   7571   
        let identity = Credentials::for_tests().into();
 5704   7572   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5705   7573   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5706   7574   
 5707         -
        let expected = test::v4::test_canonical_request("double-encode-path");
        7575  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 5708   7576   
        let actual = format!("{}", creq);
 5709   7577   
        assert_eq!(actual, expected);
 5710   7578   
    }
 5711   7579   
 5712   7580   
    #[test]
 5713   7581   
    fn test_double_url_encode() {
 5714         -
        let req = test::v4::test_request("double-url-encode");
        7582  +
        let test = SigningSuiteTest::v4("double-url-encode");
        7583  +
        let req = test.request();
 5715   7584   
        let req = SignableRequest::from(&req);
 5716   7585   
        let identity = Credentials::for_tests().into();
 5717   7586   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5718   7587   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5719         -
 5720         -
        let expected = test::v4::test_canonical_request("double-url-encode");
        7588  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 5721   7589   
        let actual = format!("{}", creq);
 5722   7590   
        assert_eq!(actual, expected);
 5723   7591   
    }
 5724   7592   
 5725   7593   
    #[test]
 5726   7594   
    fn test_tilde_in_uri() {
 5727   7595   
        let req = http0::Request::builder()
 5728   7596   
            .uri("https://s3.us-east-1.amazonaws.com/my-bucket?list-type=2&prefix=~objprefix&single&k=&unreserved=-_.~").body("").unwrap().into();
 5729   7597   
        let req = SignableRequest::from(&req);
 5730   7598   
        let identity = Credentials::for_tests().into();
 5731   7599   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5732   7600   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5733   7601   
        assert_eq!(
 5734   7602   
            Some("k=&list-type=2&prefix=~objprefix&single=&unreserved=-_.~"),
 5735   7603   
            creq.params.as_deref(),
 5736   7604   
        );
 5737   7605   
    }
 5738   7606   
 5739   7607   
    #[test]
 5740   7608   
    fn test_signing_urls_with_percent_encoded_query_strings() {
 5741   7609   
        let all_printable_ascii_chars: String = (32u8..127).map(char::from).collect();
 5742   7610   
        let uri = Uri::from_static("https://s3.us-east-1.amazonaws.com/my-bucket");
 5743   7611   
 5744   7612   
        let mut query_writer = QueryWriter::new(&uri);
 5745   7613   
        query_writer.insert("list-type", "2");
 5746   7614   
        query_writer.insert("prefix", &all_printable_ascii_chars);
 5747   7615   
 5748   7616   
        let req = http0::Request::builder()
 5749   7617   
            .uri(query_writer.build_uri())
 5750   7618   
            .body("")
 5751   7619   
            .unwrap()
 5752   7620   
            .into();
 5753   7621   
        let req = SignableRequest::from(&req);
 5754   7622   
        let identity = Credentials::for_tests().into();
 5755   7623   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5756   7624   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5757   7625   
 5758   7626   
        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~";
 5759   7627   
        let actual = creq.params.unwrap();
 5760   7628   
        assert_eq!(expected, actual);
 5761   7629   
    }
 5762   7630   
 5763   7631   
    #[test]
 5764   7632   
    fn test_omit_session_token() {
 5765         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        7633  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7634  +
        let req = test.request();
 5766   7635   
        let req = SignableRequest::from(&req);
 5767   7636   
        let settings = SigningSettings {
 5768   7637   
            session_token_mode: SessionTokenMode::Include,
 5769   7638   
            ..Default::default()
 5770   7639   
        };
 5771   7640   
        let identity = Credentials::for_tests_with_session_token().into();
 5772   7641   
        let mut signing_params = signing_params(&identity, settings);
 5773   7642   
 5774   7643   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5775   7644   
        assert_eq!(
 5776   7645   
            creq.values.signed_headers().as_str(),
 5777   7646   
            "host;x-amz-date;x-amz-security-token"
 5778   7647   
        );
 5779   7648   
        assert_eq!(
 5780   7649   
            creq.headers.get("x-amz-security-token").unwrap(),
 5781   7650   
            "notarealsessiontoken"
 5782   7651   
        );
 5783   7652   
 5784   7653   
        signing_params.set_session_token_mode(SessionTokenMode::Exclude);
 5785   7654   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5786   7655   
        assert_eq!(
 5787   7656   
            creq.headers.get("x-amz-security-token").unwrap(),
 5788   7657   
            "notarealsessiontoken"
 5789   7658   
        );
 5790   7659   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 5791   7660   
    }
 5792   7661   
 5793   7662   
    // It should exclude authorization, user-agent, x-amzn-trace-id, and transfer-encoding headers from presigning
 5794   7663   
    #[test]
 5795   7664   
    fn non_presigning_header_exclusion() {
 5796   7665   
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
 5797   7666   
index c4bbbee..363fc2c 100644
 5798         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
        7667  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
 5799   7668   
@@ -6,60 +6,62 @@
 5800   7669   
use super::error::SigningError;
 5801   7670   
use super::{PayloadChecksumKind, SignatureLocation};
 5802   7671   
use crate::http_request::canonical_request::header;
 5803   7672   
use crate::http_request::canonical_request::param;
 5804   7673   
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 5805   7674   
use crate::http_request::error::CanonicalRequestError;
 5806   7675   
use crate::http_request::SigningParams;
 5807   7676   
use crate::sign::v4;
 5808   7677   
#[cfg(feature = "sigv4a")]
 5809   7678   
use crate::sign::v4a;
 5810   7679   
use crate::{SignatureVersion, SigningOutput};
 5811   7680   
use http0::Uri;
 5812   7681   
use std::borrow::Cow;
 5813   7682   
use std::fmt::{Debug, Formatter};
 5814   7683   
use std::str;
 5815   7684   
 5816   7685   
const LOG_SIGNABLE_BODY: &str = "LOG_SIGNABLE_BODY";
 5817   7686   
 5818   7687   
/// Represents all of the information necessary to sign an HTTP request.
 5819   7688   
#[derive(Debug)]
 5820   7689   
#[non_exhaustive]
 5821   7690   
pub struct SignableRequest<'a> {
 5822   7691   
    method: &'a str,
 5823   7692   
    uri: Uri,
 5824   7693   
    headers: Vec<(&'a str, &'a str)>,
 5825   7694   
    body: SignableBody<'a>,
 5826   7695   
}
 5827   7696   
 5828   7697   
impl<'a> SignableRequest<'a> {
 5829   7698   
    /// Creates a new `SignableRequest`.
        7699  +
    ///
        7700  +
    /// NOTE: The `uri` is expected to already in encoded form.
 5830   7701   
    pub fn new(
 5831   7702   
        method: &'a str,
 5832   7703   
        uri: impl Into<Cow<'a, str>>,
 5833   7704   
        headers: impl Iterator<Item = (&'a str, &'a str)>,
 5834   7705   
        body: SignableBody<'a>,
 5835   7706   
    ) -> Result<Self, SigningError> {
 5836   7707   
        let uri = uri
 5837   7708   
            .into()
 5838   7709   
            .parse()
 5839   7710   
            .map_err(|e| SigningError::from(CanonicalRequestError::from(e)))?;
 5840   7711   
        let headers = headers.collect();
 5841   7712   
        Ok(Self {
 5842   7713   
            method,
 5843   7714   
            uri,
 5844   7715   
            headers,
 5845   7716   
            body,
 5846   7717   
        })
 5847   7718   
    }
 5848   7719   
 5849   7720   
    /// Returns the signable URI
 5850   7721   
    pub(crate) fn uri(&self) -> &Uri {
 5851   7722   
        &self.uri
 5852   7723   
    }
 5853   7724   
 5854   7725   
    /// Returns the signable HTTP method
 5855   7726   
    pub(crate) fn method(&self) -> &str {
 5856   7727   
        self.method
 5857   7728   
    }
 5858   7729   
 5859   7730   
    /// Returns the request headers
 5860   7731   
@@ -478,436 +480,324 @@ fn add_header(map: &mut Vec<Header>, key: &'static str, value: &str, sensitive:
 5861   7732   
        sensitive,
 5862   7733   
    });
 5863   7734   
}
 5864   7735   
 5865   7736   
// add signature to authorization header
 5866   7737   
// Authorization: algorithm Credential=access key ID/credential scope, SignedHeaders=SignedHeaders, Signature=signature
 5867   7738   
fn build_authorization_header(
 5868   7739   
    access_key: &str,
 5869   7740   
    creq: &CanonicalRequest<'_>,
 5870   7741   
    sts: StringToSign<'_>,
 5871   7742   
    signature: &str,
 5872   7743   
    signature_version: SignatureVersion,
 5873   7744   
) -> String {
 5874   7745   
    let scope = match signature_version {
 5875   7746   
        SignatureVersion::V4 => sts.scope.to_string(),
 5876   7747   
        SignatureVersion::V4a => sts.scope.v4a_display(),
 5877   7748   
    };
 5878   7749   
    format!(
 5879   7750   
        "{} Credential={}/{}, SignedHeaders={}, Signature={}",
 5880   7751   
        sts.algorithm,
 5881   7752   
        access_key,
 5882   7753   
        scope,
 5883   7754   
        creq.values.signed_headers().as_str(),
 5884   7755   
        signature
 5885   7756   
    )
 5886   7757   
}
 5887   7758   
#[cfg(test)]
 5888   7759   
mod tests {
 5889   7760   
    use crate::date_time::test_parsers::parse_date_time;
 5890   7761   
    use crate::http_request::sign::{add_header, SignableRequest};
        7762  +
    use crate::http_request::test::SigningSuiteTest;
 5891   7763   
    use crate::http_request::{
 5892         -
        sign, test, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
        7764  +
        sign, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
 5893   7765   
        SigningSettings,
 5894   7766   
    };
 5895   7767   
    use crate::sign::v4;
 5896   7768   
    use aws_credential_types::Credentials;
 5897   7769   
    use http0::{HeaderValue, Request};
 5898   7770   
    use pretty_assertions::assert_eq;
 5899   7771   
    use proptest::proptest;
 5900   7772   
    use std::borrow::Cow;
 5901   7773   
    use std::iter;
 5902         -
    use std::time::Duration;
 5903   7774   
 5904   7775   
    macro_rules! assert_req_eq {
 5905   7776   
        (http: $expected:expr, $actual:expr) => {
 5906   7777   
            let mut expected = ($expected).map(|_b|"body");
 5907   7778   
            let mut actual = ($actual).map(|_b|"body");
 5908   7779   
            make_headers_comparable(&mut expected);
 5909   7780   
            make_headers_comparable(&mut actual);
 5910   7781   
            assert_eq!(format!("{:?}", expected), format!("{:?}", actual));
 5911   7782   
        };
 5912   7783   
        ($expected:tt, $actual:tt) => {
 5913   7784   
            assert_req_eq!(http: ($expected).as_http_request(), $actual);
 5914   7785   
        };
 5915   7786   
    }
 5916   7787   
 5917   7788   
    pub(crate) fn make_headers_comparable<B>(request: &mut Request<B>) {
 5918   7789   
        for (_name, value) in request.headers_mut() {
 5919   7790   
            value.set_sensitive(false);
 5920   7791   
        }
 5921   7792   
    }
 5922   7793   
 5923         -
    #[test]
 5924         -
    fn test_sign_vanilla_with_headers() {
 5925         -
        let settings = SigningSettings::default();
 5926         -
        let identity = &Credentials::for_tests().into();
 5927         -
        let params = v4::SigningParams {
 5928         -
            identity,
 5929         -
            region: "us-east-1",
 5930         -
            name: "service",
 5931         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 5932         -
            settings,
 5933         -
        }
 5934         -
        .into();
 5935         -
 5936         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 5937         -
        let signable = SignableRequest::from(&original);
 5938         -
        let out = sign(signable, &params).unwrap();
 5939         -
        assert_eq!(
 5940         -
            "5557820e7380d585310524bd93d51a08d7757fb5efd7344ee12088f2b0860947",
 5941         -
            out.signature
 5942         -
        );
 5943         -
 5944         -
        let mut signed = original.as_http_request();
 5945         -
        out.output.apply_to_request_http0x(&mut signed);
 5946         -
 5947         -
        let expected = test::v4::test_signed_request("get-vanilla-query-order-key-case");
 5948         -
        assert_req_eq!(expected, signed);
 5949         -
    }
 5950         -
        7794  +
    // Sigv4A suite tests
 5951   7795   
    #[cfg(feature = "sigv4a")]
 5952         -
    mod sigv4a_tests {
 5953         -
        use super::*;
 5954         -
        use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 5955         -
        use crate::http_request::{sign, test, SigningParams};
 5956         -
        use crate::sign::v4a;
 5957         -
        use p256::ecdsa::signature::{Signature, Verifier};
 5958         -
        use p256::ecdsa::{DerSignature, SigningKey};
 5959         -
        use pretty_assertions::assert_eq;
 5960         -
 5961         -
        fn new_v4a_signing_params_from_context(
 5962         -
            test_context: &'_ test::v4a::TestContext,
 5963         -
            signature_location: SignatureLocation,
 5964         -
        ) -> SigningParams<'_> {
 5965         -
            let mut params = v4a::SigningParams::from(test_context);
 5966         -
            params.settings.signature_location = signature_location;
 5967         -
 5968         -
            params.into()
 5969         -
        }
 5970         -
 5971         -
        fn run_v4a_test_suite(test_name: &str, signature_location: SignatureLocation) {
 5972         -
            let tc = test::v4a::test_context(test_name);
 5973         -
            let params = new_v4a_signing_params_from_context(&tc, signature_location);
 5974         -
 5975         -
            let req = test::v4a::test_request(test_name);
 5976         -
            let expected_creq = test::v4a::test_canonical_request(test_name, signature_location);
 5977         -
            let signable_req = SignableRequest::from(&req);
 5978         -
            let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        7796  +
    mod v4a_suite {
        7797  +
        use crate::http_request::test::v4a::run_test_suite_v4a;
 5979   7798   
 5980         -
            assert_eq!(expected_creq, actual_creq.to_string(), "creq didn't match");
 5981         -
 5982         -
            let expected_string_to_sign =
 5983         -
                test::v4a::test_string_to_sign(test_name, signature_location);
 5984         -
            let hashed_creq = &v4::sha256_hex_string(actual_creq.to_string().as_bytes());
 5985         -
            let actual_string_to_sign = StringToSign::new_v4a(
 5986         -
                *params.time(),
 5987         -
                params.region_set().unwrap(),
 5988         -
                params.name(),
 5989         -
                hashed_creq,
 5990         -
            )
 5991         -
            .to_string();
 5992         -
 5993         -
            assert_eq!(
 5994         -
                expected_string_to_sign, actual_string_to_sign,
 5995         -
                "'string to sign' didn't match"
 5996         -
            );
 5997         -
 5998         -
            let out = sign(signable_req, &params).unwrap();
 5999         -
            // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
 6000         -
            out.output
 6001         -
                .apply_to_request_http0x(&mut req.as_http_request());
 6002         -
 6003         -
            let creds = params.credentials().unwrap();
 6004         -
            let signing_key =
 6005         -
                v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
 6006         -
            let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
 6007         -
            let sig = sig
 6008         -
                .try_into()
 6009         -
                .expect("DER-style signatures are always convertible into fixed-size signatures");
 6010         -
 6011         -
            let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
 6012         -
            let peer_public_key = signing_key.verifying_key();
 6013         -
            let sts = actual_string_to_sign.as_bytes();
 6014         -
            peer_public_key.verify(sts, &sig).unwrap();
        7799  +
        #[test]
        7800  +
        fn test_get_header_key_duplicate() {
        7801  +
            run_test_suite_v4a("get-header-key-duplicate")
 6015   7802   
        }
 6016   7803   
 6017   7804   
        #[test]
 6018         -
        fn test_get_header_key_duplicate() {
 6019         -
            run_v4a_test_suite("get-header-key-duplicate", SignatureLocation::Headers);
        7805  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7806  +
        fn test_get_header_value_multiline() {
        7807  +
            run_test_suite_v4a("get-header-value-multiline")
 6020   7808   
        }
 6021   7809   
 6022   7810   
        #[test]
 6023   7811   
        fn test_get_header_value_order() {
 6024         -
            run_v4a_test_suite("get-header-value-order", SignatureLocation::Headers);
        7812  +
            run_test_suite_v4a("get-header-value-order")
 6025   7813   
        }
 6026   7814   
 6027   7815   
        #[test]
 6028   7816   
        fn test_get_header_value_trim() {
 6029         -
            run_v4a_test_suite("get-header-value-trim", SignatureLocation::Headers);
        7817  +
            run_test_suite_v4a("get-header-value-trim");
 6030   7818   
        }
 6031   7819   
 6032   7820   
        #[test]
 6033   7821   
        fn test_get_relative_normalized() {
 6034         -
            run_v4a_test_suite("get-relative-normalized", SignatureLocation::Headers);
        7822  +
            run_test_suite_v4a("get-relative-normalized");
 6035   7823   
        }
 6036   7824   
 6037   7825   
        #[test]
 6038   7826   
        fn test_get_relative_relative_normalized() {
 6039         -
            run_v4a_test_suite(
 6040         -
                "get-relative-relative-normalized",
 6041         -
                SignatureLocation::Headers,
 6042         -
            );
        7827  +
            run_test_suite_v4a("get-relative-relative-normalized");
 6043   7828   
        }
 6044   7829   
 6045   7830   
        #[test]
 6046   7831   
        fn test_get_relative_relative_unnormalized() {
 6047         -
            run_v4a_test_suite(
 6048         -
                "get-relative-relative-unnormalized",
 6049         -
                SignatureLocation::Headers,
 6050         -
            );
        7832  +
            run_test_suite_v4a("get-relative-relative-unnormalized");
 6051   7833   
        }
 6052   7834   
 6053   7835   
        #[test]
 6054   7836   
        fn test_get_relative_unnormalized() {
 6055         -
            run_v4a_test_suite("get-relative-unnormalized", SignatureLocation::Headers);
        7837  +
            run_test_suite_v4a("get-relative-unnormalized");
 6056   7838   
        }
 6057   7839   
 6058   7840   
        #[test]
 6059   7841   
        fn test_get_slash_dot_slash_normalized() {
 6060         -
            run_v4a_test_suite("get-slash-dot-slash-normalized", SignatureLocation::Headers);
        7842  +
            run_test_suite_v4a("get-slash-dot-slash-normalized");
 6061   7843   
        }
 6062   7844   
 6063   7845   
        #[test]
 6064   7846   
        fn test_get_slash_dot_slash_unnormalized() {
 6065         -
            run_v4a_test_suite(
 6066         -
                "get-slash-dot-slash-unnormalized",
 6067         -
                SignatureLocation::Headers,
 6068         -
            );
        7847  +
            run_test_suite_v4a("get-slash-dot-slash-unnormalized");
 6069   7848   
        }
 6070   7849   
 6071   7850   
        #[test]
 6072   7851   
        fn test_get_slash_normalized() {
 6073         -
            run_v4a_test_suite("get-slash-normalized", SignatureLocation::Headers);
        7852  +
            run_test_suite_v4a("get-slash-normalized");
 6074   7853   
        }
 6075   7854   
 6076   7855   
        #[test]
 6077   7856   
        fn test_get_slash_pointless_dot_normalized() {
 6078         -
            run_v4a_test_suite(
 6079         -
                "get-slash-pointless-dot-normalized",
 6080         -
                SignatureLocation::Headers,
 6081         -
            );
        7857  +
            run_test_suite_v4a("get-slash-pointless-dot-normalized");
 6082   7858   
        }
 6083   7859   
 6084   7860   
        #[test]
 6085   7861   
        fn test_get_slash_pointless_dot_unnormalized() {
 6086         -
            run_v4a_test_suite(
 6087         -
                "get-slash-pointless-dot-unnormalized",
 6088         -
                SignatureLocation::Headers,
 6089         -
            );
        7862  +
            run_test_suite_v4a("get-slash-pointless-dot-unnormalized");
 6090   7863   
        }
 6091   7864   
 6092   7865   
        #[test]
 6093   7866   
        fn test_get_slash_unnormalized() {
 6094         -
            run_v4a_test_suite("get-slash-unnormalized", SignatureLocation::Headers);
        7867  +
            run_test_suite_v4a("get-slash-unnormalized");
 6095   7868   
        }
 6096   7869   
 6097   7870   
        #[test]
 6098   7871   
        fn test_get_slashes_normalized() {
 6099         -
            run_v4a_test_suite("get-slashes-normalized", SignatureLocation::Headers);
        7872  +
            run_test_suite_v4a("get-slashes-normalized");
 6100   7873   
        }
 6101   7874   
 6102   7875   
        #[test]
 6103   7876   
        fn test_get_slashes_unnormalized() {
 6104         -
            run_v4a_test_suite("get-slashes-unnormalized", SignatureLocation::Headers);
        7877  +
            run_test_suite_v4a("get-slashes-unnormalized");
        7878  +
        }
        7879  +
        7880  +
        #[test]
        7881  +
        #[ignore = "relies on single encode of path segments"]
        7882  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        7883  +
        // skipped until we add control over double_uri_encode in context.json
        7884  +
        fn test_get_space_normalized() {
        7885  +
            run_test_suite_v4a("get-space-normalized");
        7886  +
        }
        7887  +
        7888  +
        #[test]
        7889  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        7890  +
        // the input request has unencoded space ' ' in the path which fails to parse
        7891  +
        fn test_get_space_unnormalized() {
        7892  +
            run_test_suite_v4a("get-space-unnormalized");
 6105   7893   
        }
 6106   7894   
 6107   7895   
        #[test]
 6108   7896   
        fn test_get_unreserved() {
 6109         -
            run_v4a_test_suite("get-unreserved", SignatureLocation::Headers);
        7897  +
            run_test_suite_v4a("get-unreserved");
        7898  +
        }
        7899  +
        7900  +
        #[test]
        7901  +
        #[ignore = "httparse fails on invalid uri character"]
        7902  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7903  +
        fn test_get_utf8() {
        7904  +
            run_test_suite_v4a("get-utf8");
 6110   7905   
        }
 6111   7906   
 6112   7907   
        #[test]
 6113   7908   
        fn test_get_vanilla() {
 6114         -
            run_v4a_test_suite("get-vanilla", SignatureLocation::Headers);
        7909  +
            run_test_suite_v4a("get-vanilla");
 6115   7910   
        }
 6116   7911   
 6117   7912   
        #[test]
 6118   7913   
        fn test_get_vanilla_empty_query_key() {
 6119         -
            run_v4a_test_suite(
 6120         -
                "get-vanilla-empty-query-key",
 6121         -
                SignatureLocation::QueryParams,
 6122         -
            );
        7914  +
            run_test_suite_v4a("get-vanilla-empty-query-key");
 6123   7915   
        }
 6124   7916   
 6125   7917   
        #[test]
 6126   7918   
        fn test_get_vanilla_query() {
 6127         -
            run_v4a_test_suite("get-vanilla-query", SignatureLocation::QueryParams);
        7919  +
            run_test_suite_v4a("get-vanilla-query");
        7920  +
        }
        7921  +
        7922  +
        #[test]
        7923  +
        fn test_get_vanilla_query_order_encoded() {
        7924  +
            run_test_suite_v4a("get-vanilla-query-order-encoded");
 6128   7925   
        }
 6129   7926   
 6130   7927   
        #[test]
 6131   7928   
        fn test_get_vanilla_query_order_key_case() {
 6132         -
            run_v4a_test_suite(
 6133         -
                "get-vanilla-query-order-key-case",
 6134         -
                SignatureLocation::QueryParams,
 6135         -
            );
        7929  +
            run_test_suite_v4a("get-vanilla-query-order-key-case");
 6136   7930   
        }
 6137   7931   
 6138   7932   
        #[test]
 6139   7933   
        fn test_get_vanilla_query_unreserved() {
 6140         -
            run_v4a_test_suite(
 6141         -
                "get-vanilla-query-unreserved",
 6142         -
                SignatureLocation::QueryParams,
 6143         -
            );
        7934  +
            run_test_suite_v4a("get-vanilla-query-unreserved");
        7935  +
        }
        7936  +
        7937  +
        #[test]
        7938  +
        #[ignore = "httparse fails on invalid uri character"]
        7939  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7940  +
        fn test_get_vanilla_utf8_query() {
        7941  +
            run_test_suite_v4a("get-vanilla-utf8-query");
 6144   7942   
        }
 6145   7943   
 6146   7944   
        #[test]
 6147   7945   
        fn test_get_vanilla_with_session_token() {
 6148         -
            run_v4a_test_suite("get-vanilla-with-session-token", SignatureLocation::Headers);
        7946  +
            run_test_suite_v4a("get-vanilla-with-session-token")
 6149   7947   
        }
 6150   7948   
 6151   7949   
        #[test]
 6152   7950   
        fn test_post_header_key_case() {
 6153         -
            run_v4a_test_suite("post-header-key-case", SignatureLocation::Headers);
        7951  +
            run_test_suite_v4a("post-header-key-case");
 6154   7952   
        }
 6155   7953   
 6156   7954   
        #[test]
 6157   7955   
        fn test_post_header_key_sort() {
 6158         -
            run_v4a_test_suite("post-header-key-sort", SignatureLocation::Headers);
        7956  +
            run_test_suite_v4a("post-header-key-sort");
 6159   7957   
        }
 6160   7958   
 6161   7959   
        #[test]
 6162   7960   
        fn test_post_header_value_case() {
 6163         -
            run_v4a_test_suite("post-header-value-case", SignatureLocation::Headers);
        7961  +
            run_test_suite_v4a("post-header-value-case");
 6164   7962   
        }
 6165   7963   
 6166   7964   
        #[test]
 6167   7965   
        fn test_post_sts_header_after() {
 6168         -
            run_v4a_test_suite("post-sts-header-after", SignatureLocation::Headers);
        7966  +
            run_test_suite_v4a("post-sts-header-after");
 6169   7967   
        }
 6170   7968   
 6171   7969   
        #[test]
 6172   7970   
        fn test_post_sts_header_before() {
 6173         -
            run_v4a_test_suite("post-sts-header-before", SignatureLocation::Headers);
        7971  +
            run_test_suite_v4a("post-sts-header-before");
 6174   7972   
        }
 6175   7973   
 6176   7974   
        #[test]
 6177   7975   
        fn test_post_vanilla() {
 6178         -
            run_v4a_test_suite("post-vanilla", SignatureLocation::Headers);
        7976  +
            run_test_suite_v4a("post-vanilla");
 6179   7977   
        }
 6180   7978   
 6181   7979   
        #[test]
 6182   7980   
        fn test_post_vanilla_empty_query_value() {
 6183         -
            run_v4a_test_suite(
 6184         -
                "post-vanilla-empty-query-value",
 6185         -
                SignatureLocation::QueryParams,
 6186         -
            );
        7981  +
            run_test_suite_v4a("post-vanilla-empty-query-value");
 6187   7982   
        }
 6188   7983   
 6189   7984   
        #[test]
 6190   7985   
        fn test_post_vanilla_query() {
 6191         -
            run_v4a_test_suite("post-vanilla-query", SignatureLocation::QueryParams);
        7986  +
            run_test_suite_v4a("post-vanilla-query");
 6192   7987   
        }
 6193   7988   
 6194   7989   
        #[test]
 6195   7990   
        fn test_post_x_www_form_urlencoded() {
 6196         -
            run_v4a_test_suite("post-x-www-form-urlencoded", SignatureLocation::Headers);
        7991  +
            run_test_suite_v4a("post-x-www-form-urlencoded");
 6197   7992   
        }
 6198   7993   
 6199   7994   
        #[test]
 6200   7995   
        fn test_post_x_www_form_urlencoded_parameters() {
 6201         -
            run_v4a_test_suite(
 6202         -
                "post-x-www-form-urlencoded-parameters",
 6203         -
                SignatureLocation::QueryParams,
 6204         -
            );
        7996  +
            run_test_suite_v4a("post-x-www-form-urlencoded-parameters");
 6205   7997   
        }
 6206   7998   
    }
 6207   7999   
 6208   8000   
    #[test]
 6209   8001   
    fn test_sign_url_escape() {
 6210         -
        let test = "double-encode-path";
        8002  +
        let test = SigningSuiteTest::v4("double-encode-path");
 6211   8003   
        let settings = SigningSettings::default();
 6212   8004   
        let identity = &Credentials::for_tests().into();
 6213   8005   
        let params = v4::SigningParams {
 6214   8006   
            identity,
 6215   8007   
            region: "us-east-1",
 6216   8008   
            name: "service",
 6217   8009   
            time: parse_date_time("20150830T123600Z").unwrap(),
 6218   8010   
            settings,
 6219   8011   
        }
 6220   8012   
        .into();
 6221   8013   
 6222         -
        let original = test::v4::test_request(test);
        8014  +
        let original = test.request();
 6223   8015   
        let signable = SignableRequest::from(&original);
 6224   8016   
        let out = sign(signable, &params).unwrap();
 6225   8017   
        assert_eq!(
 6226   8018   
            "57d157672191bac40bae387e48bbe14b15303c001fdbb01f4abf295dccb09705",
 6227   8019   
            out.signature
 6228   8020   
        );
 6229   8021   
 6230   8022   
        let mut signed = original.as_http_request();
 6231   8023   
        out.output.apply_to_request_http0x(&mut signed);
 6232   8024   
 6233         -
        let expected = test::v4::test_signed_request(test);
 6234         -
        assert_req_eq!(expected, signed);
 6235         -
    }
 6236         -
 6237         -
    #[test]
 6238         -
    fn test_sign_vanilla_with_query_params() {
 6239         -
        let settings = SigningSettings {
 6240         -
            signature_location: SignatureLocation::QueryParams,
 6241         -
            expires_in: Some(Duration::from_secs(35)),
 6242         -
            ..Default::default()
 6243         -
        };
 6244         -
        let identity = &Credentials::for_tests().into();
 6245         -
        let params = v4::SigningParams {
 6246         -
            identity,
 6247         -
            region: "us-east-1",
 6248         -
            name: "service",
 6249         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 6250         -
            settings,
 6251         -
        }
 6252         -
        .into();
 6253         -
 6254         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 6255         -
        let signable = SignableRequest::from(&original);
 6256         -
        let out = sign(signable, &params).unwrap();
 6257         -
        assert_eq!(
 6258         -
            "ecce208e4b4f7d7e3a4cc22ced6acc2ad1d170ee8ba87d7165f6fa4b9aff09ab",
 6259         -
            out.signature
 6260         -
        );
 6261         -
 6262         -
        let mut signed = original.as_http_request();
 6263         -
        out.output.apply_to_request_http0x(&mut signed);
 6264         -
 6265         -
        let expected =
 6266         -
            test::v4::test_signed_request_query_params("get-vanilla-query-order-key-case");
        8025  +
        let expected = test.signed_request(SignatureLocation::Headers);
 6267   8026   
        assert_req_eq!(expected, signed);
 6268   8027   
    }
 6269   8028   
 6270   8029   
    #[test]
 6271   8030   
    fn test_sign_headers_utf8() {
 6272   8031   
        let settings = SigningSettings::default();
 6273   8032   
        let identity = &Credentials::for_tests().into();
 6274   8033   
        let params = v4::SigningParams {
 6275   8034   
            identity,
 6276   8035   
            region: "us-east-1",
 6277   8036   
            name: "service",
 6278   8037   
            time: parse_date_time("20150830T123600Z").unwrap(),
 6279   8038   
            settings,
 6280   8039   
        }
 6281   8040   
        .into();
 6282   8041   
 6283   8042   
        let original = http0::Request::builder()
 6284   8043   
            .uri("https://some-endpoint.some-region.amazonaws.com")
 6285   8044   
            .header("some-header", HeaderValue::from_str("テスト").unwrap())
 6286   8045   
            .body("")
 6287   8046   
            .unwrap()
 6288   8047   
            .into();
 6289   8048   
        let signable = SignableRequest::from(&original);
 6290   8049   
        let out = sign(signable, &params).unwrap();
 6291   8050   
        assert_eq!(
 6292   8051   
            "55e16b31f9bde5fd04f9d3b780dd2b5e5f11a5219001f91a8ca9ec83eaf1618f",
 6293   8052   
            out.signature
 6294   8053   
        );
 6295   8054   
 6296   8055   
        let mut signed = original.as_http_request();
 6297   8056   
@@ -1138,31 +1028,236 @@ mod tests {
 6298   8057   
        let mut request = http::Request::builder()
 6299   8058   
            .uri("https://some-endpoint.some-region.amazonaws.com/some/path")
 6300   8059   
            .body("")
 6301   8060   
            .unwrap();
 6302   8061   
 6303   8062   
        instructions.apply_to_request_http1x(&mut request);
 6304   8063   
 6305   8064   
        assert_eq!(
 6306   8065   
            "/some/path?some-param=f%26o%3Fo&some-other-param%3F=bar",
 6307   8066   
            request.uri().path_and_query().unwrap().to_string()
 6308   8067   
        );
 6309   8068   
    }
 6310   8069   
 6311   8070   
    #[test]
 6312   8071   
    fn test_debug_signable_body() {
 6313   8072   
        let sut = SignableBody::Bytes(b"hello signable body");
 6314   8073   
        assert_eq!(
 6315   8074   
            "Bytes(\"** REDACTED **. To print 19 bytes of raw data, set environment variable `LOG_SIGNABLE_BODY=true`\")",
 6316   8075   
            format!("{sut:?}")
 6317   8076   
        );
 6318   8077   
 6319   8078   
        let sut = SignableBody::UnsignedPayload;
 6320   8079   
        assert_eq!("UnsignedPayload", format!("{sut:?}"));
 6321   8080   
 6322   8081   
        let sut = SignableBody::Precomputed("precomputed".to_owned());
 6323   8082   
        assert_eq!("Precomputed(\"precomputed\")", format!("{sut:?}"));
 6324   8083   
 6325   8084   
        let sut = SignableBody::StreamingUnsignedPayloadTrailer;
 6326   8085   
        assert_eq!("StreamingUnsignedPayloadTrailer", format!("{sut:?}"));
 6327   8086   
    }
        8087  +
        8088  +
    // v4 test suite
        8089  +
    mod v4_suite {
        8090  +
        use crate::http_request::test::run_test_suite_v4;
        8091  +
        8092  +
        #[test]
        8093  +
        fn test_get_header_key_duplicate() {
        8094  +
            run_test_suite_v4("get-header-key-duplicate");
        8095  +
        }
        8096  +
        8097  +
        #[test]
        8098  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        8099  +
        fn test_get_header_value_multiline() {
        8100  +
            run_test_suite_v4("get-header-value-multiline");
        8101  +
        }
        8102  +
        8103  +
        #[test]
        8104  +
        fn test_get_header_value_order() {
        8105  +
            run_test_suite_v4("get-header-value-order");
        8106  +
        }
        8107  +
        8108  +
        #[test]
        8109  +
        fn test_get_header_value_trim() {
        8110  +
            run_test_suite_v4("get-header-value-trim");
        8111  +
        }
        8112  +
        8113  +
        #[test]
        8114  +
        fn test_get_relative_normalized() {
        8115  +
            run_test_suite_v4("get-relative-normalized");
        8116  +
        }
        8117  +
        8118  +
        #[test]
        8119  +
        fn test_get_relative_relative_normalized() {
        8120  +
            run_test_suite_v4("get-relative-relative-normalized");
        8121  +
        }
        8122  +
        8123  +
        #[test]
        8124  +
        fn test_get_relative_relative_unnormalized() {
        8125  +
            run_test_suite_v4("get-relative-relative-unnormalized");
        8126  +
        }
        8127  +
        8128  +
        #[test]
        8129  +
        fn test_get_relative_unnormalized() {
        8130  +
            run_test_suite_v4("get-relative-unnormalized");
        8131  +
        }
        8132  +
        8133  +
        #[test]
        8134  +
        fn test_get_slash_dot_slash_normalized() {
        8135  +
            run_test_suite_v4("get-slash-dot-slash-normalized");
        8136  +
        }
        8137  +
        8138  +
        #[test]
        8139  +
        fn test_get_slash_dot_slash_unnormalized() {
        8140  +
            run_test_suite_v4("get-slash-dot-slash-unnormalized");
        8141  +
        }
        8142  +
        8143  +
        #[test]
        8144  +
        fn test_get_slash_normalized() {
        8145  +
            run_test_suite_v4("get-slash-normalized");
        8146  +
        }
        8147  +
        8148  +
        #[test]
        8149  +
        fn test_get_slash_pointless_dot_normalized() {
        8150  +
            run_test_suite_v4("get-slash-pointless-dot-normalized");
        8151  +
        }
        8152  +
        8153  +
        #[test]
        8154  +
        fn test_get_slash_pointless_dot_unnormalized() {
        8155  +
            run_test_suite_v4("get-slash-pointless-dot-unnormalized");
        8156  +
        }
        8157  +
        8158  +
        #[test]
        8159  +
        fn test_get_slash_unnormalized() {
        8160  +
            run_test_suite_v4("get-slash-unnormalized");
        8161  +
        }
        8162  +
        8163  +
        #[test]
        8164  +
        fn test_get_slashes_normalized() {
        8165  +
            run_test_suite_v4("get-slashes-normalized");
        8166  +
        }
        8167  +
        8168  +
        #[test]
        8169  +
        fn test_get_slashes_unnormalized() {
        8170  +
            run_test_suite_v4("get-slashes-unnormalized");
        8171  +
        }
        8172  +
        8173  +
        #[test]
        8174  +
        #[ignore = "relies on single encode of path segments"]
        8175  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        8176  +
        // skipped until we add control over double_uri_encode in context.json
        8177  +
        fn test_get_space_normalized() {
        8178  +
            run_test_suite_v4("get-space-normalized");
        8179  +
        }
        8180  +
        8181  +
        #[test]
        8182  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        8183  +
        // the input request has unencoded space ' ' in the path which fails to parse
        8184  +
        fn test_get_space_unnormalized() {
        8185  +
            run_test_suite_v4("get-space-unnormalized");
        8186  +
        }
        8187  +
        8188  +
        #[test]
        8189  +
        fn test_get_unreserved() {
        8190  +
            run_test_suite_v4("get-unreserved");
        8191  +
        }
        8192  +
        8193  +
        #[test]
        8194  +
        #[ignore = "httparse fails on invalid uri character"]
        8195  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        8196  +
        fn test_get_utf8() {
        8197  +
            run_test_suite_v4("get-utf8");
        8198  +
        }
        8199  +
        8200  +
        #[test]
        8201  +
        fn test_get_vanilla() {
        8202  +
            run_test_suite_v4("get-vanilla");
        8203  +
        }
        8204  +
        8205  +
        #[test]
        8206  +
        fn test_get_vanilla_empty_query_key() {
        8207  +
            run_test_suite_v4("get-vanilla-empty-query-key");
        8208  +
        }
        8209  +
        8210  +
        #[test]
        8211  +
        fn test_get_vanilla_query() {
        8212  +
            run_test_suite_v4("get-vanilla-query");
        8213  +
        }
        8214  +
        8215  +
        #[test]
        8216  +
        fn test_get_vanilla_query_order_encoded() {
        8217  +
            run_test_suite_v4("get-vanilla-query-order-encoded");
        8218  +
        }
        8219  +
        8220  +
        #[test]
        8221  +
        fn test_get_vanilla_query_order_key_case() {
        8222  +
            run_test_suite_v4("get-vanilla-query-order-key-case");
        8223  +
        }
        8224  +
        8225  +
        #[test]
        8226  +
        fn test_get_vanilla_query_unreserved() {
        8227  +
            run_test_suite_v4("get-vanilla-query-unreserved");
        8228  +
        }
        8229  +
        8230  +
        #[test]
        8231  +
        #[ignore = "httparse fails on invalid uri character"]
        8232  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        8233  +
        fn test_get_vanilla_utf8_query() {
        8234  +
            run_test_suite_v4("get-vanilla-utf8-query");
        8235  +
        }
        8236  +
        8237  +
        #[test]
        8238  +
        fn test_get_vanilla_with_session_token() {
        8239  +
            run_test_suite_v4("get-vanilla-with-session-token");
        8240  +
        }
        8241  +
        8242  +
        #[test]
        8243  +
        fn test_post_header_key_case() {
        8244  +
            run_test_suite_v4("post-header-key-case");
        8245  +
        }
        8246  +
        8247  +
        #[test]
        8248  +
        fn test_post_header_key_sort() {
        8249  +
            run_test_suite_v4("post-header-key-sort");
        8250  +
        }
        8251  +
        8252  +
        #[test]
        8253  +
        fn test_post_header_value_case() {
        8254  +
            run_test_suite_v4("post-header-value-case");
        8255  +
        }
        8256  +
        8257  +
        #[test]
        8258  +
        fn test_post_sts_header_after() {
        8259  +
            run_test_suite_v4("post-sts-header-after");
        8260  +
        }
        8261  +
        8262  +
        #[test]
        8263  +
        fn test_post_sts_header_before() {
        8264  +
            run_test_suite_v4("post-sts-header-before");
        8265  +
        }
        8266  +
        8267  +
        #[test]
        8268  +
        fn test_post_vanilla() {
        8269  +
            run_test_suite_v4("post-vanilla");
        8270  +
        }
        8271  +
        8272  +
        #[test]
        8273  +
        fn test_post_vanilla_empty_query_value() {
        8274  +
            run_test_suite_v4("post-vanilla-empty-query-value");
        8275  +
        }
        8276  +
        8277  +
        #[test]
        8278  +
        fn test_post_vanilla_query() {
        8279  +
            run_test_suite_v4("post-vanilla-query");
        8280  +
        }
        8281  +
        8282  +
        #[test]
        8283  +
        fn test_post_x_www_form_urlencoded() {
        8284  +
            run_test_suite_v4("post-x-www-form-urlencoded");
        8285  +
        }
        8286  +
        8287  +
        #[test]
        8288  +
        fn test_post_x_www_form_urlencoded_parameters() {
        8289  +
            run_test_suite_v4("post-x-www-form-urlencoded-parameters");
        8290  +
        }
        8291  +
    }
 6328   8292   
}
 6329   8293   
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
 6330   8294   
index be6c496..86eec20 100644
 6331         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
        8295  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
 6332   8296   
@@ -1,242 +1,453 @@
 6333   8297   
/*
 6334   8298   
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 6335   8299   
 * SPDX-License-Identifier: Apache-2.0
 6336   8300   
 */
 6337   8301   
 6338   8302   
//! Functions shared between the tests of several modules.
 6339   8303   
 6340         -
use crate::http_request::{SignableBody, SignableRequest};
        8304  +
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
        8305  +
use crate::http_request::{
        8306  +
    PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
        8307  +
    SigningSettings,
        8308  +
};
        8309  +
use aws_credential_types::Credentials;
        8310  +
use aws_smithy_runtime_api::client::identity::Identity;
 6341   8311   
use http0::{Method, Uri};
        8312  +
use std::borrow::Cow;
 6342   8313   
use std::error::Error as StdError;
        8314  +
use std::time::{Duration, SystemTime};
        8315  +
use time::format_description::well_known::Rfc3339;
        8316  +
use time::OffsetDateTime;
        8317  +
        8318  +
/// Common test suite collection
        8319  +
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
        8320  +
enum Collection {
        8321  +
    V4,
        8322  +
    V4A,
        8323  +
}
 6343   8324   
 6344         -
pub(crate) mod v4 {
 6345         -
    use super::*;
        8325  +
/// A test from the common CRT test suite
        8326  +
#[derive(Debug, Clone)]
        8327  +
pub(crate) struct SigningSuiteTest {
        8328  +
    test_name: &'static str,
        8329  +
    collection: Collection,
        8330  +
}
 6346   8331   
 6347         -
    fn path(name: &str, ext: &str) -> String {
 6348         -
        format!("aws-sig-v4-test-suite/{}/{}.{}", name, name, ext)
        8332  +
impl SigningSuiteTest {
        8333  +
    /// Create a new test from the V4 test suite
        8334  +
    pub(crate) fn v4(test_name: &'static str) -> Self {
        8335  +
        Self {
        8336  +
            test_name,
        8337  +
            collection: Collection::V4,
 6349   8338   
        }
 6350         -
 6351         -
    pub(crate) fn test_canonical_request(name: &str) -> String {
 6352         -
        // Tests fail if there's a trailing newline in the file, and pre-commit requires trailing newlines
 6353         -
        read(&path(name, "creq")).trim().to_string()
 6354   8339   
    }
 6355   8340   
 6356         -
    pub(crate) fn test_sts(name: &str) -> String {
 6357         -
        read(&path(name, "sts"))
        8341  +
    /// Create a new test from the V4a test suite
        8342  +
    pub(crate) fn v4a(test_name: &'static str) -> Self {
        8343  +
        Self {
        8344  +
            test_name,
        8345  +
            collection: Collection::V4A,
 6358   8346   
        }
 6359         -
 6360         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 6361         -
        test_parsed_request(name, "req")
 6362   8347   
    }
 6363   8348   
 6364         -
    pub(crate) fn test_signed_request(name: &str) -> TestRequest {
 6365         -
        test_parsed_request(name, "sreq")
        8349  +
    /// Get the path to a file in this test suite directory
        8350  +
    fn path(&self, filename: &str) -> String {
        8351  +
        let dir = match self.collection {
        8352  +
            Collection::V4 => "v4",
        8353  +
            Collection::V4A => "v4a",
        8354  +
        };
        8355  +
        format!("aws-signing-test-suite/{dir}/{}/{filename}", self.test_name)
 6366   8356   
    }
 6367   8357   
 6368         -
    pub(crate) fn test_signed_request_query_params(name: &str) -> TestRequest {
 6369         -
        test_parsed_request(name, "qpsreq")
        8358  +
    /// Get the HTTP request for the test
        8359  +
    pub(crate) fn request(&self) -> TestRequest {
        8360  +
        test_parsed_request(&self.path("request.txt"))
 6370   8361   
    }
 6371   8362   
 6372         -
    fn test_parsed_request(name: &str, ext: &str) -> TestRequest {
 6373         -
        let path = path(name, ext);
 6374         -
        match parse_request(read(&path).as_bytes()) {
 6375         -
            Ok(parsed) => parsed,
 6376         -
            Err(err) => panic!("Failed to parse {}: {}", path, err),
        8363  +
    /// Get the signed HTTP request for the test
        8364  +
    pub(crate) fn signed_request(&self, signature_location: SignatureLocation) -> TestRequest {
        8365  +
        match signature_location {
        8366  +
            SignatureLocation::QueryParams => {
        8367  +
                test_parsed_request(&self.path("query-signed-request.txt"))
 6377   8368   
            }
        8369  +
            SignatureLocation::Headers => {
        8370  +
                test_parsed_request(&self.path("header-signed-request.txt"))
 6378   8371   
            }
 6379         -
 6380         -
    #[test]
 6381         -
    fn test_parse() {
 6382         -
        test_request("post-header-key-case");
 6383   8372   
        }
 6384         -
 6385         -
    #[test]
 6386         -
    fn test_read_query_params() {
 6387         -
        test_request("get-vanilla-query-order-key-case");
 6388   8373   
    }
 6389         -
}
 6390         -
 6391         -
#[cfg(feature = "sigv4a")]
 6392         -
pub(crate) mod v4a {
 6393         -
    use super::*;
 6394         -
    use crate::http_request::{
 6395         -
        PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
 6396         -
    };
 6397         -
    use aws_credential_types::Credentials;
 6398         -
    use aws_smithy_runtime_api::client::identity::Identity;
 6399         -
    use serde_derive::Deserialize;
 6400         -
    use std::time::{Duration, SystemTime};
 6401         -
    use time::format_description::well_known::Rfc3339;
 6402         -
    use time::OffsetDateTime;
 6403   8374   
 6404         -
    fn path(test_name: &str, definition_name: &str) -> String {
 6405         -
        format!("aws-sig-v4a-test-suite/{test_name}/{definition_name}.txt")
        8375  +
    /// Get the canonical request for the test
        8376  +
    pub(crate) fn canonical_request(&self, signature_location: SignatureLocation) -> String {
        8377  +
        match signature_location {
        8378  +
            SignatureLocation::QueryParams => read(&self.path("query-canonical-request.txt")),
        8379  +
            SignatureLocation::Headers => read(&self.path("header-canonical-request.txt")),
 6406   8380   
        }
 6407         -
 6408         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 6409         -
        test_parsed_request(&path(name, "request"))
 6410   8381   
    }
 6411   8382   
 6412         -
    pub(crate) fn test_canonical_request(
 6413         -
        name: &str,
 6414         -
        signature_location: SignatureLocation,
 6415         -
    ) -> String {
        8383  +
    /// Get the string to sign for the test
        8384  +
    pub(crate) fn string_to_sign(&self, signature_location: SignatureLocation) -> String {
 6416   8385   
        match signature_location {
 6417         -
            SignatureLocation::QueryParams => read(&path(name, "query-canonical-request")),
 6418         -
            SignatureLocation::Headers => read(&path(name, "header-canonical-request")),
        8386  +
            SignatureLocation::QueryParams => read(&self.path("query-string-to-sign.txt")),
        8387  +
            SignatureLocation::Headers => read(&self.path("header-string-to-sign.txt")),
 6419   8388   
        }
 6420   8389   
    }
 6421   8390   
 6422         -
    pub(crate) fn test_string_to_sign(name: &str, signature_location: SignatureLocation) -> String {
        8391  +
    /// Get the signature for the test
        8392  +
    pub(crate) fn signature(&self, signature_location: SignatureLocation) -> String {
 6423   8393   
        match signature_location {
 6424         -
            SignatureLocation::QueryParams => read(&path(name, "query-string-to-sign")),
 6425         -
            SignatureLocation::Headers => read(&path(name, "header-string-to-sign")),
        8394  +
            SignatureLocation::QueryParams => read(&self.path("query-signature.txt")),
        8395  +
            SignatureLocation::Headers => read(&self.path("header-signature.txt")),
        8396  +
        }
 6426   8397   
    }
        8398  +
        8399  +
    /// Get the test context for the test
        8400  +
    pub(crate) fn context(&self) -> TestContext {
        8401  +
        let context = read(&self.path("context.json"));
        8402  +
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
        8403  +
        tc_builder.build()
 6427   8404   
    }
        8405  +
}
 6428   8406   
 6429         -
    fn test_parsed_request(path: &str) -> TestRequest {
        8407  +
fn test_parsed_request(path: &str) -> TestRequest {
 6430   8408   
    match parse_request(read(path).as_bytes()) {
 6431   8409   
        Ok(parsed) => parsed,
 6432   8410   
        Err(err) => panic!("Failed to parse {}: {}", path, err),
 6433   8411   
    }
 6434         -
    }
        8412  +
}
 6435   8413   
 6436         -
    pub(crate) fn test_context(test_name: &str) -> TestContext {
 6437         -
        let path = format!("aws-sig-v4a-test-suite/{test_name}/context.json");
 6438         -
        let context = read(&path);
 6439         -
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
 6440         -
        tc_builder.build()
 6441         -
    }
        8414  +
fn new_v4_signing_params_from_context(
        8415  +
    test_context: &'_ TestContext,
        8416  +
    signature_location: SignatureLocation,
        8417  +
) -> crate::http_request::SigningParams<'_> {
        8418  +
    let mut params = crate::sign::v4::SigningParams::from(test_context);
        8419  +
    params.settings.signature_location = signature_location;
        8420  +
    params.into()
        8421  +
}
        8422  +
        8423  +
/// Run the given test from the v4 suite for both header and query
        8424  +
/// signature locations
        8425  +
pub(crate) fn run_test_suite_v4(test_name: &'static str) {
        8426  +
    run_v4_test(test_name, SignatureLocation::Headers);
        8427  +
    run_v4_test(test_name, SignatureLocation::QueryParams);
        8428  +
}
        8429  +
        8430  +
fn assert_uri_eq(expected: &Uri, actual: &Uri) {
        8431  +
    assert_eq!(expected.scheme(), actual.scheme());
        8432  +
    assert_eq!(expected.authority(), actual.authority());
        8433  +
    assert_eq!(expected.path(), actual.path());
        8434  +
        8435  +
    // query params may be out of order
        8436  +
    let mut expected_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8437  +
        form_urlencoded::parse(expected.query().unwrap_or_default().as_bytes()).collect();
        8438  +
    expected_params.sort();
        8439  +
        8440  +
    let mut actual_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8441  +
        form_urlencoded::parse(actual.query().unwrap_or_default().as_bytes()).collect();
        8442  +
    actual_params.sort();
        8443  +
        8444  +
    assert_eq!(expected_params, actual_params);
        8445  +
}
 6442   8446   
 6443         -
    pub(crate) struct TestContext {
        8447  +
fn assert_requests_eq(expected: TestRequest, actual: http0::Request<&str>) {
        8448  +
    let expected = expected.as_http_request();
        8449  +
    let actual = actual;
        8450  +
    assert_eq!(expected.method(), actual.method());
        8451  +
    assert_eq!(
        8452  +
        expected.headers().len(),
        8453  +
        actual.headers().len(),
        8454  +
        "extra or missing headers"
        8455  +
    );
        8456  +
    assert_eq!(expected.headers(), actual.headers(), "headers mismatch");
        8457  +
    assert_uri_eq(expected.uri(), actual.uri());
        8458  +
    assert_eq!(*expected.body(), *actual.body(), "body mismatch");
        8459  +
}
        8460  +
        8461  +
/// Run the given test from the v4 suite for the given signature location
        8462  +
pub(crate) fn run_v4_test(test_name: &'static str, signature_location: SignatureLocation) {
        8463  +
    let test = SigningSuiteTest::v4(test_name);
        8464  +
    let tc = test.context();
        8465  +
    let params = new_v4_signing_params_from_context(&tc, signature_location);
        8466  +
        8467  +
    let req = test.request();
        8468  +
    let expected_creq = test.canonical_request(signature_location);
        8469  +
    let signable_req = SignableRequest::from(&req);
        8470  +
    let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8471  +
        8472  +
    // check canonical request
        8473  +
    assert_eq!(
        8474  +
        expected_creq,
        8475  +
        actual_creq.to_string(),
        8476  +
        "canonical request didn't match (signature location: {signature_location:?})"
        8477  +
    );
        8478  +
        8479  +
    let expected_string_to_sign = test.string_to_sign(signature_location);
        8480  +
    let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8481  +
    let actual_string_to_sign = StringToSign::new_v4(
        8482  +
        *params.time(),
        8483  +
        params.region().unwrap(),
        8484  +
        params.name(),
        8485  +
        hashed_creq,
        8486  +
    )
        8487  +
    .to_string();
        8488  +
        8489  +
    // check string to sign
        8490  +
    assert_eq!(
        8491  +
        expected_string_to_sign, actual_string_to_sign,
        8492  +
        "'string to sign' didn't match (signature location: {signature_location:?})"
        8493  +
    );
        8494  +
        8495  +
    let out = crate::http_request::sign(signable_req, &params).unwrap();
        8496  +
    let mut signed = req.as_http_request();
        8497  +
    out.output.apply_to_request_http0x(&mut signed);
        8498  +
        8499  +
    // check signature
        8500  +
    assert_eq!(
        8501  +
        test.signature(signature_location),
        8502  +
        out.signature,
        8503  +
        "signature didn't match (signature location: {signature_location:?})"
        8504  +
    );
        8505  +
        8506  +
    let expected = test.signed_request(signature_location);
        8507  +
    assert_requests_eq(expected, signed);
        8508  +
}
        8509  +
        8510  +
/// Test suite context.json
        8511  +
pub(crate) struct TestContext {
 6444   8512   
    pub(crate) identity: Identity,
 6445   8513   
    pub(crate) expiration_in_seconds: u64,
 6446   8514   
    pub(crate) normalize: bool,
 6447   8515   
    pub(crate) region: String,
 6448   8516   
    pub(crate) service: String,
 6449   8517   
    pub(crate) timestamp: String,
 6450   8518   
    pub(crate) omit_session_token: bool,
 6451   8519   
    pub(crate) sign_body: bool,
 6452         -
    }
 6453         -
 6454         -
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
 6455         -
        fn from(tc: &'a TestContext) -> Self {
 6456         -
            crate::sign::v4a::SigningParams {
 6457         -
                identity: &tc.identity,
 6458         -
                region_set: &tc.region,
 6459         -
                name: &tc.service,
 6460         -
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
 6461         -
                    .unwrap()
 6462         -
                    .into(),
 6463         -
                settings: SigningSettings {
 6464         -
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6465         -
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
 6466         -
                    uri_path_normalization_mode: tc.normalize.into(),
 6467         -
                    session_token_mode: if tc.omit_session_token {
 6468         -
                        SessionTokenMode::Exclude
 6469         -
                    } else {
 6470         -
                        SessionTokenMode::Include
 6471         -
                    },
 6472         -
                    payload_checksum_kind: if tc.sign_body {
 6473         -
                        PayloadChecksumKind::XAmzSha256
 6474         -
                    } else {
 6475         -
                        PayloadChecksumKind::NoHeader
 6476         -
                    },
 6477         -
                    ..Default::default()
 6478         -
                },
 6479         -
            }
 6480         -
        }
 6481         -
    }
        8520  +
}
 6482   8521   
 6483         -
    // Serde has limitations requiring this odd workaround.
 6484         -
    // See https://github.com/serde-rs/serde/issues/368 for more info.
 6485         -
    fn return_true() -> bool {
        8522  +
// Serde has limitations requiring this odd workaround.
        8523  +
// See https://github.com/serde-rs/serde/issues/368 for more info.
        8524  +
fn return_true() -> bool {
 6486   8525   
    true
 6487         -
    }
        8526  +
}
 6488   8527   
 6489         -
    #[derive(Deserialize)]
 6490         -
    pub(crate) struct TestContextBuilder {
        8528  +
#[derive(serde_derive::Deserialize)]
        8529  +
pub(crate) struct TestContextBuilder {
 6491   8530   
    credentials: TestContextCreds,
 6492   8531   
    expiration_in_seconds: u64,
 6493   8532   
    normalize: bool,
 6494   8533   
    region: String,
 6495   8534   
    service: String,
 6496   8535   
    timestamp: String,
 6497   8536   
    #[serde(default)]
 6498   8537   
    omit_session_token: bool,
 6499   8538   
    #[serde(default = "return_true")]
 6500   8539   
    sign_body: bool,
 6501         -
    }
        8540  +
}
 6502   8541   
 6503         -
    impl TestContextBuilder {
        8542  +
impl TestContextBuilder {
 6504   8543   
    pub(crate) fn build(self) -> TestContext {
 6505   8544   
        let identity = Identity::new(
 6506   8545   
            Credentials::from_keys(
 6507   8546   
                &self.credentials.access_key_id,
 6508   8547   
                &self.credentials.secret_access_key,
 6509   8548   
                self.credentials.token.clone(),
 6510   8549   
            ),
 6511   8550   
            Some(SystemTime::UNIX_EPOCH + Duration::from_secs(self.expiration_in_seconds)),
 6512   8551   
        );
 6513   8552   
 6514   8553   
        TestContext {
 6515   8554   
            identity,
 6516   8555   
            expiration_in_seconds: self.expiration_in_seconds,
 6517   8556   
            normalize: self.normalize,
 6518   8557   
            region: self.region,
 6519   8558   
            service: self.service,
 6520   8559   
            timestamp: self.timestamp,
 6521   8560   
            omit_session_token: self.omit_session_token,
 6522   8561   
            sign_body: self.sign_body,
 6523   8562   
        }
 6524   8563   
    }
 6525         -
    }
        8564  +
}
 6526   8565   
 6527         -
    #[derive(Deserialize)]
 6528         -
    pub(crate) struct TestContextCreds {
        8566  +
#[derive(serde_derive::Deserialize)]
        8567  +
pub(crate) struct TestContextCreds {
 6529   8568   
    access_key_id: String,
 6530   8569   
    secret_access_key: String,
 6531   8570   
    token: Option<String>,
        8571  +
}
        8572  +
        8573  +
impl<'a> From<&'a TestContext> for crate::sign::v4::SigningParams<'a, SigningSettings> {
        8574  +
    fn from(tc: &'a TestContext) -> Self {
        8575  +
        crate::sign::v4::SigningParams {
        8576  +
            identity: &tc.identity,
        8577  +
            region: &tc.region,
        8578  +
            name: &tc.service,
        8579  +
            time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8580  +
                .unwrap()
        8581  +
                .into(),
        8582  +
            settings: SigningSettings {
        8583  +
                // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8584  +
                expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8585  +
                uri_path_normalization_mode: tc.normalize.into(),
        8586  +
                session_token_mode: if tc.omit_session_token {
        8587  +
                    SessionTokenMode::Exclude
        8588  +
                } else {
        8589  +
                    SessionTokenMode::Include
        8590  +
                },
        8591  +
                payload_checksum_kind: if tc.sign_body {
        8592  +
                    PayloadChecksumKind::XAmzSha256
        8593  +
                } else {
        8594  +
                    PayloadChecksumKind::NoHeader
        8595  +
                },
        8596  +
                ..Default::default()
        8597  +
            },
        8598  +
        }
        8599  +
    }
        8600  +
}
        8601  +
        8602  +
#[cfg(feature = "sigv4a")]
        8603  +
pub(crate) mod v4a {
        8604  +
    use super::*;
        8605  +
    use crate::http_request::{
        8606  +
        sign, PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
        8607  +
    };
        8608  +
    use crate::sign::v4a;
        8609  +
    use p256::ecdsa::signature::{Signature, Verifier};
        8610  +
    use p256::ecdsa::{DerSignature, SigningKey};
        8611  +
    use std::time::Duration;
        8612  +
    use time::format_description::well_known::Rfc3339;
        8613  +
    use time::OffsetDateTime;
        8614  +
        8615  +
    fn new_v4a_signing_params_from_context(
        8616  +
        test_context: &'_ TestContext,
        8617  +
        signature_location: SignatureLocation,
        8618  +
    ) -> crate::http_request::SigningParams<'_> {
        8619  +
        let mut params = crate::sign::v4a::SigningParams::from(test_context);
        8620  +
        params.settings.signature_location = signature_location;
        8621  +
        params.into()
        8622  +
    }
        8623  +
        8624  +
    pub(crate) fn run_test_suite_v4a(test_name: &'static str) {
        8625  +
        run_v4a_test(test_name, SignatureLocation::Headers);
        8626  +
        run_v4a_test(test_name, SignatureLocation::QueryParams);
        8627  +
    }
        8628  +
        8629  +
    pub(crate) fn run_v4a_test(test_name: &'static str, signature_location: SignatureLocation) {
        8630  +
        let test = SigningSuiteTest::v4a(test_name);
        8631  +
        let tc = test.context();
        8632  +
        let params = new_v4a_signing_params_from_context(&tc, signature_location);
        8633  +
        8634  +
        let req = test.request();
        8635  +
        let expected_creq = test.canonical_request(signature_location);
        8636  +
        let signable_req = SignableRequest::from(&req);
        8637  +
        let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8638  +
        8639  +
        assert_eq!(
        8640  +
            expected_creq,
        8641  +
            actual_creq.to_string(),
        8642  +
            "canonical request didn't match (signature location: {signature_location:?})"
        8643  +
        );
        8644  +
        8645  +
        let expected_string_to_sign = test.string_to_sign(signature_location);
        8646  +
        let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8647  +
        let actual_string_to_sign = StringToSign::new_v4a(
        8648  +
            *params.time(),
        8649  +
            params.region_set().unwrap(),
        8650  +
            params.name(),
        8651  +
            hashed_creq,
        8652  +
        )
        8653  +
        .to_string();
        8654  +
        8655  +
        assert_eq!(
        8656  +
            expected_string_to_sign, actual_string_to_sign,
        8657  +
            "'string to sign' didn't match (signature location: {signature_location:?})"
        8658  +
        );
        8659  +
        8660  +
        let out = sign(signable_req, &params).unwrap();
        8661  +
        // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
        8662  +
        out.output
        8663  +
            .apply_to_request_http0x(&mut req.as_http_request());
        8664  +
        8665  +
        let creds = params.credentials().unwrap();
        8666  +
        let signing_key =
        8667  +
            v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
        8668  +
        let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
        8669  +
        let sig = sig
        8670  +
            .try_into()
        8671  +
            .expect("DER-style signatures are always convertible into fixed-size signatures");
        8672  +
        8673  +
        let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
        8674  +
        let peer_public_key = signing_key.verifying_key();
        8675  +
        let sts = actual_string_to_sign.as_bytes();
        8676  +
        peer_public_key.verify(sts, &sig).unwrap();
        8677  +
        // TODO(sigv4a) - use public.key.json as verifying key?
        8678  +
    }
        8679  +
        8680  +
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
        8681  +
        fn from(tc: &'a TestContext) -> Self {
        8682  +
            crate::sign::v4a::SigningParams {
        8683  +
                identity: &tc.identity,
        8684  +
                region_set: &tc.region,
        8685  +
                name: &tc.service,
        8686  +
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8687  +
                    .unwrap()
        8688  +
                    .into(),
        8689  +
                settings: SigningSettings {
        8690  +
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8691  +
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8692  +
                    uri_path_normalization_mode: tc.normalize.into(),
        8693  +
                    session_token_mode: if tc.omit_session_token {
        8694  +
                        SessionTokenMode::Exclude
        8695  +
                    } else {
        8696  +
                        SessionTokenMode::Include
        8697  +
                    },
        8698  +
                    payload_checksum_kind: if tc.sign_body {
        8699  +
                        PayloadChecksumKind::XAmzSha256
        8700  +
                    } else {
        8701  +
                        PayloadChecksumKind::NoHeader
        8702  +
                    },
        8703  +
                    ..Default::default()
        8704  +
                },
        8705  +
            }
        8706  +
        }
 6532   8707   
    }
 6533   8708   
 6534   8709   
    #[test]
 6535   8710   
    fn test_parse() {
 6536         -
        let req = test_request("post-header-key-case");
        8711  +
        let req = SigningSuiteTest::v4a("post-header-key-case").request();
 6537   8712   
        assert_eq!(req.method, "POST");
 6538   8713   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6539   8714   
        assert!(req.headers.is_empty());
 6540   8715   
    }
 6541   8716   
 6542   8717   
    #[test]
 6543   8718   
    fn test_read_query_params() {
 6544         -
        let req = test_request("get-header-value-trim");
        8719  +
        let req = SigningSuiteTest::v4a("get-header-value-trim").request();
 6545   8720   
        assert_eq!(req.method, "GET");
 6546   8721   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6547   8722   
        assert!(!req.headers.is_empty());
 6548   8723   
    }
 6549   8724   
}
 6550   8725   
 6551   8726   
fn read(path: &str) -> String {
 6552   8727   
    println!("Loading `{}` for test case...", path);
 6553   8728   
    let v = {
 6554   8729   
        match std::fs::read_to_string(path) {
 6555   8730   
            // This replacement is necessary for tests to pass on Windows, as reading the
 6556   8731   
            // test snapshots from the file system results in CRLF line endings being inserted.
 6557   8732   
            Ok(value) => value.replace("\r\n", "\n"),
 6558   8733   
            Err(err) => {
 6559   8734   
                panic!("failed to load test case `{}`: {}", path, err);
 6560   8735   
            }
 6561   8736   
        }
 6562   8737   
    };
 6563   8738   
 6564   8739   
    v.trim().to_string()
 6565   8740   
}
 6566   8741   
 6567   8742   
pub(crate) struct TestRequest {
 6568   8743   
    pub(crate) uri: String,
 6569   8744   
    pub(crate) method: String,
 6570   8745   
    pub(crate) headers: Vec<(String, String)>,
 6571   8746   
    pub(crate) body: TestSignedBody,
 6572   8747   
}
 6573   8748   
 6574   8749   
pub(crate) enum TestSignedBody {
 6575   8750   
@@ -290,79 +501,87 @@ impl<B: AsRef<[u8]>> From<http0::Request<B>> for TestRequest {
 6576   8751   
                        String::from_utf8(v.as_bytes().to_vec()).unwrap(),
 6577   8752   
                    )
 6578   8753   
                })
 6579   8754   
                .collect::<Vec<_>>(),
 6580   8755   
            body: TestSignedBody::Bytes(value.body().as_ref().to_vec()),
 6581   8756   
        }
 6582   8757   
    }
 6583   8758   
}
 6584   8759   
 6585   8760   
impl<'a> From<&'a TestRequest> for SignableRequest<'a> {
 6586   8761   
    fn from(request: &'a TestRequest) -> SignableRequest<'a> {
 6587   8762   
        SignableRequest::new(
 6588   8763   
            &request.method,
 6589   8764   
            &request.uri,
 6590   8765   
            request
 6591   8766   
                .headers
 6592   8767   
                .iter()
 6593   8768   
                .map(|(k, v)| (k.as_str(), v.as_str())),
 6594   8769   
            request.body.as_signable_body(),
 6595   8770   
        )
 6596   8771   
        .expect("URI MUST be valid")
 6597   8772   
    }
 6598   8773   
}
 6599   8774   
 6600   8775   
fn parse_request(s: &[u8]) -> Result<TestRequest, Box<dyn StdError + Send + Sync + 'static>> {
 6601   8776   
    let mut headers = [httparse::EMPTY_HEADER; 64];
 6602   8777   
    // httparse 1.5 requires two trailing newlines to head the header section.
 6603   8778   
    let mut with_newline = Vec::from(s);
 6604   8779   
    with_newline.push(b'\n');
 6605   8780   
    let mut req = httparse::Request::new(&mut headers);
 6606         -
    let _ = req.parse(&with_newline).unwrap();
        8781  +
    let status = req.parse(&with_newline).unwrap();
        8782  +
        8783  +
    let body = if status.is_complete() {
        8784  +
        let body_offset = status.unwrap();
        8785  +
        // ignore the newline we added, take from original
        8786  +
        &s[body_offset..]
        8787  +
    } else {
        8788  +
        &[]
        8789  +
    };
 6607   8790   
 6608   8791   
    let mut uri_builder = Uri::builder().scheme("https");
 6609   8792   
    if let Some(path) = req.path {
 6610   8793   
        uri_builder = uri_builder.path_and_query(path);
 6611   8794   
    }
 6612   8795   
 6613   8796   
    let mut headers = vec![];
 6614   8797   
    for header in req.headers {
 6615   8798   
        let name = header.name.to_lowercase();
 6616   8799   
        if name == "host" {
 6617   8800   
            uri_builder = uri_builder.authority(header.value);
 6618   8801   
        } else if !name.is_empty() {
 6619   8802   
            headers.push((
 6620   8803   
                header.name.to_string(),
 6621   8804   
                std::str::from_utf8(header.value)?.to_string(),
 6622   8805   
            ));
 6623   8806   
        }
 6624   8807   
    }
 6625   8808   
 6626   8809   
    Ok(TestRequest {
 6627   8810   
        uri: uri_builder.build()?.to_string(),
 6628   8811   
        method: req.method.unwrap().to_string(),
 6629   8812   
        headers,
 6630         -
        body: TestSignedBody::Bytes(vec![]),
        8813  +
        body: TestSignedBody::Bytes(Vec::from(body)),
 6631   8814   
    })
 6632   8815   
}
 6633   8816   
 6634   8817   
#[test]
 6635   8818   
fn test_parse_headers() {
 6636   8819   
    let buf = b"Host:example.amazonaws.com\nX-Amz-Date:20150830T123600Z\n\nblah blah";
 6637   8820   
    let mut headers = [httparse::EMPTY_HEADER; 4];
 6638   8821   
    assert_eq!(
 6639   8822   
        httparse::parse_headers(buf, &mut headers),
 6640   8823   
        Ok(httparse::Status::Complete((
 6641   8824   
            56,
 6642   8825   
            &[
 6643   8826   
                httparse::Header {
 6644   8827   
                    name: "Host",
 6645   8828   
                    value: b"example.amazonaws.com",
 6646   8829   
                },
 6647   8830   
                httparse::Header {
 6648   8831   
                    name: "X-Amz-Date",
 6649   8832   
                    value: b"20150830T123600Z",
 6650   8833   
                }
 6651   8834   
            ][..]
 6652   8835   
        )))
 6653   8836   
    );
 6654   8837   
}
 6655   8838   
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
 6656   8839   
index a208453..fc00249 100644
 6657         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
        8840  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
 6658   8841   
@@ -168,52 +168,54 @@ pub mod signing_params {
 6659   8842   
        );
 6660   8843   
 6661   8844   
        /// Builds an instance of [`SigningParams`]. Will yield a [`BuildError`] if
 6662   8845   
        /// a required argument was not given.
 6663   8846   
        pub fn build(self) -> Result<SigningParams<'a, S>, BuildError> {
 6664   8847   
            Ok(SigningParams {
 6665   8848   
                identity: self
 6666   8849   
                    .identity
 6667   8850   
                    .ok_or_else(|| BuildError::new("identity is required"))?,
 6668   8851   
                region: self
 6669   8852   
                    .region
 6670   8853   
                    .ok_or_else(|| BuildError::new("region is required"))?,
 6671   8854   
                name: self
 6672   8855   
                    .name
 6673   8856   
                    .ok_or_else(|| BuildError::new("name is required"))?,
 6674   8857   
                time: self
 6675   8858   
                    .time
 6676   8859   
                    .ok_or_else(|| BuildError::new("time is required"))?,
 6677   8860   
                settings: self
 6678   8861   
                    .settings
 6679   8862   
                    .ok_or_else(|| BuildError::new("settings are required"))?,
 6680   8863   
            })
 6681   8864   
        }
 6682   8865   
    }
 6683   8866   
}
 6684   8867   
 6685   8868   
#[cfg(test)]
 6686   8869   
mod tests {
 6687   8870   
    use super::{calculate_signature, generate_signing_key, sha256_hex_string};
 6688   8871   
    use crate::date_time::test_parsers::parse_date_time;
 6689         -
    use crate::http_request::test;
 6690   8872   
 6691   8873   
    #[test]
 6692   8874   
    fn test_signature_calculation() {
 6693   8875   
        let secret = "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY";
 6694         -
        let creq = test::v4::test_canonical_request("iam");
        8876  +
        let creq = r#"AWS4-HMAC-SHA256
        8877  +
20150830T123600Z
        8878  +
20150830/us-east-1/iam/aws4_request
        8879  +
f536975d06c0309214f805bb90ccff089219ecd68b2577efef23edd43b7e1a59"#;
 6695   8880   
        let time = parse_date_time("20150830T123600Z").unwrap();
 6696   8881   
 6697   8882   
        let derived_key = generate_signing_key(secret, time, "us-east-1", "iam");
 6698   8883   
        let signature = calculate_signature(derived_key, creq.as_bytes());
 6699   8884   
 6700   8885   
        let expected = "5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7";
 6701   8886   
        assert_eq!(expected, &signature);
 6702   8887   
    }
 6703   8888   
 6704   8889   
    #[test]
 6705   8890   
    fn sign_payload_empty_string() {
 6706   8891   
        let expected = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
 6707   8892   
        let actual = sha256_hex_string([]);
 6708   8893   
        assert_eq!(expected, actual);
 6709   8894   
    }
 6710   8895   
}
 6711   8896   
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
 6712   8897   
index ce78c38..8c2f591 100644
 6713         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
        8898  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
 6714   8899   
@@ -1,43 +1,43 @@
 6715   8900   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6716   8901   
[package]
 6717   8902   
name = "aws-smithy-checksums"
 6718   8903   
version = "0.63.5"
 6719   8904   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Zelda Hessler <zhessler@amazon.com>"]
 6720   8905   
description = "Checksum calculation and verification callbacks"
 6721   8906   
edition = "2021"
 6722   8907   
license = "Apache-2.0"
 6723   8908   
repository = "https://github.com/smithy-lang/smithy-rs"
 6724   8909   
[package.metadata.docs.rs]
 6725   8910   
all-features = true
 6726   8911   
targets = ["x86_64-unknown-linux-gnu"]
 6727   8912   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6728   8913   
rustdoc-args = ["--cfg", "docsrs"]
 6729   8914   
 6730   8915   
[dependencies]
 6731   8916   
bytes = "1.10.0"
 6732   8917   
crc-fast = "1.3.0"
 6733   8918   
hex = "0.4.3"
 6734   8919   
http = "0.2.9"
 6735   8920   
http-body = "0.4.5"
 6736   8921   
md-5 = "0.10"
 6737   8922   
pin-project-lite = "0.2.14"
 6738   8923   
sha1 = "0.10"
 6739   8924   
sha2 = "0.10"
 6740   8925   
tracing = "0.1.40"
 6741   8926   
 6742   8927   
[dependencies.aws-smithy-http]
 6743   8928   
path = "../aws-smithy-http"
 6744         -
version = "0.62.2"
        8929  +
version = "0.62.3"
 6745   8930   
 6746   8931   
[dependencies.aws-smithy-types]
 6747   8932   
path = "../aws-smithy-types"
 6748   8933   
version = "1.3.2"
 6749   8934   
 6750   8935   
[dev-dependencies]
 6751   8936   
bytes-utils = "0.1.2"
 6752   8937   
pretty_assertions = "1.3"
 6753   8938   
tracing-test = "0.2.1"
 6754   8939   
 6755   8940   
[dev-dependencies.tokio]
 6756   8941   
version = "1.23.1"
 6757   8942   
features = ["macros", "rt"]
 6758   8943   
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
 6759   8944   
index 970c99e..d3c7a49 100644
 6760         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
        8945  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
 6761   8946   
@@ -1,34 +1,34 @@
 6762   8947   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6763   8948   
[package]
 6764   8949   
name = "aws-smithy-http"
 6765         -
version = "0.62.2"
        8950  +
version = "0.62.3"
 6766   8951   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6767   8952   
description = "Smithy HTTP logic for smithy-rs."
 6768   8953   
edition = "2021"
 6769   8954   
license = "Apache-2.0"
 6770   8955   
repository = "https://github.com/smithy-lang/smithy-rs"
 6771   8956   
[package.metadata.docs.rs]
 6772   8957   
all-features = true
 6773   8958   
targets = ["x86_64-unknown-linux-gnu"]
 6774   8959   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6775   8960   
rustdoc-args = ["--cfg", "docsrs"]
 6776   8961   
 6777   8962   
[features]
 6778   8963   
event-stream = ["aws-smithy-eventstream"]
 6779   8964   
rt-tokio = ["aws-smithy-types/rt-tokio"]
 6780   8965   
 6781   8966   
[dependencies]
 6782   8967   
bytes = "1.10.0"
 6783   8968   
bytes-utils = "0.1"
 6784   8969   
percent-encoding = "2.3.1"
 6785   8970   
pin-project-lite = "0.2.14"
 6786   8971   
pin-utils = "0.1.0"
 6787   8972   
tracing = "0.1.40"
 6788   8973   
futures-core = "0.3.31"
 6789   8974   
 6790   8975   
[dependencies.aws-smithy-eventstream]
 6791   8976   
path = "../aws-smithy-eventstream"
 6792   8977   
optional = true
 6793   8978   
version = "0.60.10"
 6794   8979   
 6795   8980   
[dependencies.aws-smithy-runtime-api]
 6796   8981   
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
 6797   8982   
index 508f7a2..361545e 100644
 6798         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
        8983  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
 6799   8984   
@@ -1,27 +1,27 @@
 6800   8985   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6801   8986   
[[bin]]
 6802   8987   
name = "read_many_from_str"
 6803   8988   
path = "fuzz_targets/read_many_from_str.rs"
 6804   8989   
test = false
 6805   8990   
doc = false
 6806   8991   
 6807   8992   
[package]
 6808   8993   
name = "aws-smithy-http-fuzz"
 6809   8994   
version = "0.0.0"
 6810   8995   
authors = ["Automatically generated"]
 6811   8996   
publish = false
 6812   8997   
edition = "2021"
 6813   8998   
 6814   8999   
[package.metadata]
 6815   9000   
cargo-fuzz = true
 6816   9001   
 6817   9002   
[dependencies]
 6818   9003   
libfuzzer-sys = "=0.4.7"
 6819   9004   
http = "0.2.3"
 6820   9005   
 6821   9006   
[dependencies.aws-smithy-http]
 6822   9007   
path = ".."
 6823         -
version = "0.62.2"
        9008  +
version = "0.62.3"
 6824   9009   
 6825   9010   
[workspace]
 6826   9011   
members = ["."]
 6827   9012   
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
 6828   9013   
index fef41d0..7694da6 100644
 6829         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
        9014  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
 6830   9015   
@@ -25,68 +25,73 @@ impl QueryWriter {
 6831   9016   
    pub fn new(uri: &Uri) -> Self {
 6832   9017   
        let new_path_and_query = uri
 6833   9018   
            .path_and_query()
 6834   9019   
            .map(|pq| pq.to_string())
 6835   9020   
            .unwrap_or_default();
 6836   9021   
        let prefix = if uri.query().is_none() {
 6837   9022   
            Some('?')
 6838   9023   
        } else if !uri.query().unwrap_or_default().is_empty() {
 6839   9024   
            Some('&')
 6840   9025   
        } else {
 6841   9026   
            None
 6842   9027   
        };
 6843   9028   
        QueryWriter {
 6844   9029   
            base_uri: uri.clone(),
 6845   9030   
            new_path_and_query,
 6846   9031   
            prefix,
 6847   9032   
        }
 6848   9033   
    }
 6849   9034   
 6850   9035   
    /// Clears all query parameters.
 6851   9036   
    pub fn clear_params(&mut self) {
 6852   9037   
        if let Some(index) = self.new_path_and_query.find('?') {
 6853   9038   
            self.new_path_and_query.truncate(index);
 6854   9039   
            self.prefix = Some('?');
 6855   9040   
        }
 6856   9041   
    }
 6857   9042   
 6858   9043   
    /// Inserts a new query parameter. The key and value are percent encoded
 6859   9044   
    /// by `QueryWriter`. Passing in percent encoded values will result in double encoding.
 6860   9045   
    pub fn insert(&mut self, k: &str, v: &str) {
        9046  +
        self.insert_encoded(&percent_encode_query(k), &percent_encode_query(v));
        9047  +
    }
        9048  +
        9049  +
    /// Inserts a new already encoded query parameter. The key and value will be inserted
        9050  +
    /// as is.
        9051  +
    pub fn insert_encoded(&mut self, encoded_k: &str, encoded_v: &str) {
 6861   9052   
        if let Some(prefix) = self.prefix {
 6862   9053   
            self.new_path_and_query.push(prefix);
 6863   9054   
        }
 6864   9055   
        self.prefix = Some('&');
 6865         -
        self.new_path_and_query.push_str(&percent_encode_query(k));
        9056  +
        self.new_path_and_query.push_str(encoded_k);
 6866   9057   
        self.new_path_and_query.push('=');
 6867         -
 6868         -
        self.new_path_and_query.push_str(&percent_encode_query(v));
        9058  +
        self.new_path_and_query.push_str(encoded_v)
 6869   9059   
    }
 6870   9060   
 6871   9061   
    /// Returns just the built query string.
 6872   9062   
    pub fn build_query(self) -> String {
 6873   9063   
        self.build_uri().query().unwrap_or_default().to_string()
 6874   9064   
    }
 6875   9065   
 6876   9066   
    /// Returns a full [`Uri`] with the query string updated.
 6877   9067   
    pub fn build_uri(self) -> Uri {
 6878   9068   
        let mut parts = self.base_uri.into_parts();
 6879   9069   
        parts.path_and_query = Some(
 6880   9070   
            self.new_path_and_query
 6881   9071   
                .parse()
 6882   9072   
                .expect("adding query should not invalidate URI"),
 6883   9073   
        );
 6884   9074   
        Uri::from_parts(parts).expect("a valid URL in should always produce a valid URL out")
 6885   9075   
    }
 6886   9076   
}
 6887   9077   
 6888   9078   
#[cfg(test)]
 6889   9079   
mod test {
 6890   9080   
    use super::QueryWriter;
 6891   9081   
    use http_02x::Uri;
 6892   9082   
 6893   9083   
    #[test]
 6894   9084   
    fn empty_uri() {
 6895   9085   
        let uri = Uri::from_static("http://www.example.com");
 6896   9086   
        let mut query_writer = QueryWriter::new(&uri);
 6897   9087   
        query_writer.insert("key", "val%ue");
 6898   9088   
        query_writer.insert("another", "value");
 6899   9089   
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
 6900   9090   
index f108978..df7a9fe 100644
 6901         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
        9091  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
 6902   9092   
@@ -15,61 +15,61 @@ rustdoc-args = ["--cfg", "docsrs"]
 6903   9093   
 6904   9094   
[package.metadata.smithy-rs-release-tooling]
 6905   9095   
stable = true
 6906   9096   
[package.metadata.cargo-udeps.ignore]
 6907   9097   
normal = ["aws-smithy-http"]
 6908   9098   
 6909   9099   
[features]
 6910   9100   
client = ["aws-smithy-runtime-api/client", "aws-smithy-types/http-body-1-x"]
 6911   9101   
http-auth = ["aws-smithy-runtime-api/http-auth"]
 6912   9102   
connector-hyper-0-14-x = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/hyper-014"]
 6913   9103   
tls-rustls = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/legacy-rustls-ring", "connector-hyper-0-14-x"]
 6914   9104   
default-https-client = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/rustls-aws-lc"]
 6915   9105   
rt-tokio = ["tokio/rt"]
 6916   9106   
test-util = ["aws-smithy-runtime-api/test-util", "dep:tracing-subscriber", "aws-smithy-http-client/test-util", "legacy-test-util"]
 6917   9107   
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"]
 6918   9108   
wire-mock = ["legacy-test-util", "aws-smithy-http-client/wire-mock"]
 6919   9109   
 6920   9110   
[dependencies]
 6921   9111   
bytes = "1.10.0"
 6922   9112   
fastrand = "2.3.0"
 6923   9113   
pin-project-lite = "0.2.14"
 6924   9114   
pin-utils = "0.1.0"
 6925   9115   
tracing = "0.1.40"
 6926   9116   
 6927   9117   
[dependencies.aws-smithy-async]
 6928   9118   
path = "../aws-smithy-async"
 6929   9119   
version = "1.2.5"
 6930   9120   
 6931   9121   
[dependencies.aws-smithy-http]
 6932   9122   
path = "../aws-smithy-http"
 6933         -
version = "0.62.2"
        9123  +
version = "0.62.3"
 6934   9124   
 6935   9125   
[dependencies.aws-smithy-observability]
 6936   9126   
path = "../aws-smithy-observability"
 6937   9127   
version = "0.1.3"
 6938   9128   
 6939   9129   
[dependencies.aws-smithy-runtime-api]
 6940   9130   
path = "../aws-smithy-runtime-api"
 6941   9131   
version = "1.8.5"
 6942   9132   
 6943   9133   
[dependencies.aws-smithy-types]
 6944   9134   
path = "../aws-smithy-types"
 6945   9135   
features = ["http-body-0-4-x"]
 6946   9136   
version = "1.3.2"
 6947   9137   
 6948   9138   
[dependencies.aws-smithy-http-client]
 6949   9139   
path = "../aws-smithy-http-client"
 6950   9140   
optional = true
 6951   9141   
version = "1.0.6"
 6952   9142   
 6953   9143   
[dependencies.http-02x]
 6954   9144   
package = "http"
 6955   9145   
version = "0.2.9"
 6956   9146   
 6957   9147   
[dependencies.http-1x]
 6958   9148   
package = "http"
 6959   9149   
version = "1"
 6960   9150   
 6961   9151   
[dependencies.http-body-04x]
 6962   9152   
package = "http-body"
 6963   9153   
version = "0.4.5"
 6964   9154   
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
 6965   9155   
index 4e050c6..f58eb1c 100644
 6966         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
        9156  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
 6967   9157   
@@ -1,33 +1,33 @@
 6968   9158   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6969   9159   
[package]
 6970   9160   
name = "aws-smithy-wasm"
 6971   9161   
version = "0.1.4"
 6972   9162   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Eduardo Rodrigues <16357187+eduardomourar@users.noreply.github.com>"]
 6973   9163   
description = "Smithy WebAssembly configuration for smithy-rs."
 6974   9164   
edition = "2021"
 6975   9165   
license = "Apache-2.0"
 6976   9166   
repository = "https://github.com/awslabs/smithy-rs"
 6977   9167   
[package.metadata.docs.rs]
 6978   9168   
all-features = true
 6979   9169   
targets = ["x86_64-unknown-linux-gnu"]
 6980   9170   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6981   9171   
rustdoc-args = ["--cfg", "docsrs"]
 6982   9172   
 6983   9173   
[dependencies]
 6984   9174   
bytes = "1.10.0"
 6985   9175   
http = "1.0.0"
 6986   9176   
tracing = "0.1.40"
 6987   9177   
wasi = "0.12.1"
 6988   9178   
 6989   9179   
[dependencies.aws-smithy-runtime-api]
 6990   9180   
path = "../aws-smithy-runtime-api"
 6991   9181   
features = ["http-1x"]
 6992   9182   
version = "1.8.5"
 6993   9183   
 6994   9184   
[dependencies.aws-smithy-http]
 6995   9185   
path = "../aws-smithy-http"
 6996         -
version = "0.62.2"
        9186  +
version = "0.62.3"
 6997   9187   
 6998   9188   
[dependencies.aws-smithy-types]
 6999   9189   
path = "../aws-smithy-types"
 7000   9190   
version = "1.3.2"
 7001   9191   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 7002   9192   
index a880648..139e808 100644
 7003         -
-- a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
        9193  +
++ b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 7004   9194   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon Bedrock Runtime"
 7005   9195   
edition = "2021"
 7006   9196   
license = "Apache-2.0"
 7007   9197   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7008   9198   
rust-version = "1.86.0"
 7009   9199   
readme = "README.md"
 7010   9200   
[package.metadata.smithy]
 7011   9201   
codegen-version = "ci"
 7012   9202   
[package.metadata.docs.rs]
 7013   9203   
all-features = true
 7014   9204   
targets = ["x86_64-unknown-linux-gnu"]
 7015   9205   
[dependencies.aws-credential-types]
 7016   9206   
path = "../aws-credential-types"
 7017   9207   
version = "1.2.4"
 7018   9208   
 7019   9209   
[dependencies.aws-runtime]
 7020   9210   
path = "../aws-runtime"
 7021   9211   
features = ["event-stream"]
 7022   9212   
version = "1.5.9"
 7023   9213   
 7024   9214   
[dependencies.aws-smithy-async]
 7025   9215   
path = "../aws-smithy-async"
 7026   9216   
version = "1.2.5"
 7027   9217   
 7028   9218   
[dependencies.aws-smithy-eventstream]
 7029   9219   
path = "../aws-smithy-eventstream"
 7030   9220   
version = "0.60.10"
 7031   9221   
 7032   9222   
[dependencies.aws-smithy-http]
 7033   9223   
path = "../aws-smithy-http"
 7034   9224   
features = ["event-stream"]
 7035         -
version = "0.62.2"
        9225  +
version = "0.62.3"
 7036   9226   
 7037   9227   
[dependencies.aws-smithy-json]
 7038   9228   
path = "../aws-smithy-json"
 7039   9229   
version = "0.61.4"
 7040   9230   
 7041   9231   
[dependencies.aws-smithy-runtime]
 7042   9232   
path = "../aws-smithy-runtime"
 7043   9233   
features = ["client"]
 7044   9234   
version = "1.8.5"
 7045   9235   
 7046   9236   
[dependencies.aws-smithy-runtime-api]
 7047   9237   
path = "../aws-smithy-runtime-api"
 7048   9238   
features = ["client", "http-02x"]
 7049   9239   
version = "1.8.5"
 7050   9240   
 7051   9241   
[dependencies.aws-smithy-types]
 7052   9242   
path = "../aws-smithy-types"
 7053   9243   
version = "1.3.2"
 7054   9244   
 7055   9245   
[dependencies.aws-types]
 7056   9246   
path = "../aws-types"
 7057   9247   
version = "1.3.8"
 7058   9248   
 7059   9249   
[dependencies.bytes]
 7060   9250   
version = "1.4.0"
 7061   9251   
 7062   9252   
[dependencies.fastrand]
 7063   9253   
version = "2.0.0"
 7064   9254   
 7065   9255   
[dependencies.http]
 7066   9256   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 7067   9257   
index 415ecc9..667d12b 100644
 7068         -
-- a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
        9258  +
++ b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 7069   9259   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon CloudWatch Logs"
 7070   9260   
edition = "2021"
 7071   9261   
license = "Apache-2.0"
 7072   9262   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7073   9263   
rust-version = "1.86.0"
 7074   9264   
readme = "README.md"
 7075   9265   
[package.metadata.smithy]
 7076   9266   
codegen-version = "ci"
 7077   9267   
[package.metadata.docs.rs]
 7078   9268   
all-features = true
 7079   9269   
targets = ["x86_64-unknown-linux-gnu"]
 7080   9270   
[dependencies.aws-credential-types]
 7081   9271   
path = "../aws-credential-types"
 7082   9272   
version = "1.2.4"
 7083   9273   
 7084   9274   
[dependencies.aws-runtime]
 7085   9275   
path = "../aws-runtime"
 7086   9276   
features = ["event-stream"]
 7087   9277   
version = "1.5.9"
 7088   9278   
 7089   9279   
[dependencies.aws-smithy-async]
 7090   9280   
path = "../aws-smithy-async"
 7091   9281   
version = "1.2.5"
 7092   9282   
 7093   9283   
[dependencies.aws-smithy-eventstream]
 7094   9284   
path = "../aws-smithy-eventstream"
 7095   9285   
version = "0.60.10"
 7096   9286   
 7097   9287   
[dependencies.aws-smithy-http]
 7098   9288   
path = "../aws-smithy-http"
 7099   9289   
features = ["event-stream"]
 7100         -
version = "0.62.2"
        9290  +
version = "0.62.3"
 7101   9291   
 7102   9292   
[dependencies.aws-smithy-json]
 7103   9293   
path = "../aws-smithy-json"
 7104   9294   
version = "0.61.4"
 7105   9295   
 7106   9296   
[dependencies.aws-smithy-runtime]
 7107   9297   
path = "../aws-smithy-runtime"
 7108   9298   
features = ["client"]
 7109   9299   
version = "1.8.5"
 7110   9300   
 7111   9301   
[dependencies.aws-smithy-runtime-api]
 7112   9302   
path = "../aws-smithy-runtime-api"
 7113   9303   
features = ["client", "http-02x"]
 7114   9304   
version = "1.8.5"
 7115   9305   
 7116   9306   
[dependencies.aws-smithy-types]
 7117   9307   
path = "../aws-smithy-types"
 7118   9308   
version = "1.3.2"
 7119   9309   
 7120   9310   
[dependencies.aws-types]
 7121   9311   
path = "../aws-types"
 7122   9312   
version = "1.3.8"
 7123   9313   
 7124   9314   
[dependencies.bytes]
 7125   9315   
version = "1.4.0"
 7126   9316   
 7127   9317   
[dependencies.fastrand]
 7128   9318   
version = "2.0.0"
 7129   9319   
 7130   9320   
[dependencies.http]
 7131   9321   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 7132   9322   
index 8871cab..ed88de6 100644
 7133         -
-- a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
        9323  +
++ b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 7134   9324   
@@ -1,61 +1,61 @@
 7135   9325   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7136   9326   
[package]
 7137   9327   
name = "aws-sdk-codecatalyst"
 7138   9328   
version = "0.0.0-local"
 7139   9329   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7140   9330   
description = "AWS SDK for Amazon CodeCatalyst"
 7141   9331   
edition = "2021"
 7142   9332   
license = "Apache-2.0"
 7143   9333   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7144   9334   
rust-version = "1.86.0"
 7145   9335   
readme = "README.md"
 7146   9336   
[package.metadata.smithy]
 7147   9337   
codegen-version = "ci"
 7148   9338   
[package.metadata.docs.rs]
 7149   9339   
all-features = true
 7150   9340   
targets = ["x86_64-unknown-linux-gnu"]
 7151   9341   
[dependencies.aws-credential-types]
 7152   9342   
path = "../aws-credential-types"
 7153   9343   
version = "1.2.4"
 7154   9344   
 7155   9345   
[dependencies.aws-runtime]
 7156   9346   
path = "../aws-runtime"
 7157   9347   
version = "1.5.9"
 7158   9348   
 7159   9349   
[dependencies.aws-smithy-async]
 7160   9350   
path = "../aws-smithy-async"
 7161   9351   
version = "1.2.5"
 7162   9352   
 7163   9353   
[dependencies.aws-smithy-http]
 7164   9354   
path = "../aws-smithy-http"
 7165         -
version = "0.62.2"
        9355  +
version = "0.62.3"
 7166   9356   
 7167   9357   
[dependencies.aws-smithy-json]
 7168   9358   
path = "../aws-smithy-json"
 7169   9359   
version = "0.61.4"
 7170   9360   
 7171   9361   
[dependencies.aws-smithy-runtime]
 7172   9362   
path = "../aws-smithy-runtime"
 7173   9363   
features = ["client", "http-auth"]
 7174   9364   
version = "1.8.5"
 7175   9365   
 7176   9366   
[dependencies.aws-smithy-runtime-api]
 7177   9367   
path = "../aws-smithy-runtime-api"
 7178   9368   
features = ["client", "http-02x", "http-auth"]
 7179   9369   
version = "1.8.5"
 7180   9370   
 7181   9371   
[dependencies.aws-smithy-types]
 7182   9372   
path = "../aws-smithy-types"
 7183   9373   
version = "1.3.2"
 7184   9374   
 7185   9375   
[dependencies.aws-types]
 7186   9376   
path = "../aws-types"
 7187   9377   
version = "1.3.8"
 7188   9378   
 7189   9379   
[dependencies.bytes]
 7190   9380   
version = "1.4.0"
 7191   9381   
 7192   9382   
[dependencies.fastrand]
 7193   9383   
version = "2.0.0"
 7194   9384   
 7195   9385   
[dependencies.http]
 7196   9386   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 7197   9387   
index 89573ff..05238af 100644
 7198         -
-- a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
        9388  +
++ b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 7199   9389   
@@ -1,61 +1,61 @@
 7200   9390   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7201   9391   
[package]
 7202   9392   
name = "aws-sdk-config"
 7203   9393   
version = "0.0.0-local"
 7204   9394   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7205   9395   
description = "AWS SDK for AWS Config"
 7206   9396   
edition = "2021"
 7207   9397   
license = "Apache-2.0"
 7208   9398   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7209   9399   
rust-version = "1.86.0"
 7210   9400   
readme = "README.md"
 7211   9401   
[package.metadata.smithy]
 7212   9402   
codegen-version = "ci"
 7213   9403   
[package.metadata.docs.rs]
 7214   9404   
all-features = true
 7215   9405   
targets = ["x86_64-unknown-linux-gnu"]
 7216   9406   
[dependencies.aws-credential-types]
 7217   9407   
path = "../aws-credential-types"
 7218   9408   
version = "1.2.4"
 7219   9409   
 7220   9410   
[dependencies.aws-runtime]
 7221   9411   
path = "../aws-runtime"
 7222   9412   
version = "1.5.9"
 7223   9413   
 7224   9414   
[dependencies.aws-smithy-async]
 7225   9415   
path = "../aws-smithy-async"
 7226   9416   
version = "1.2.5"
 7227   9417   
 7228   9418   
[dependencies.aws-smithy-http]
 7229   9419   
path = "../aws-smithy-http"
 7230         -
version = "0.62.2"
        9420  +
version = "0.62.3"
 7231   9421   
 7232   9422   
[dependencies.aws-smithy-json]
 7233   9423   
path = "../aws-smithy-json"
 7234   9424   
version = "0.61.4"
 7235   9425   
 7236   9426   
[dependencies.aws-smithy-runtime]
 7237   9427   
path = "../aws-smithy-runtime"
 7238   9428   
features = ["client"]
 7239   9429   
version = "1.8.5"
 7240   9430   
 7241   9431   
[dependencies.aws-smithy-runtime-api]
 7242   9432   
path = "../aws-smithy-runtime-api"
 7243   9433   
features = ["client", "http-02x"]
 7244   9434   
version = "1.8.5"
 7245   9435   
 7246   9436   
[dependencies.aws-smithy-types]
 7247   9437   
path = "../aws-smithy-types"
 7248   9438   
version = "1.3.2"
 7249   9439   
 7250   9440   
[dependencies.aws-types]
 7251   9441   
path = "../aws-types"
 7252   9442   
version = "1.3.8"
 7253   9443   
 7254   9444   
[dependencies.bytes]
 7255   9445   
version = "1.4.0"
 7256   9446   
 7257   9447   
[dependencies.fastrand]
 7258   9448   
version = "2.0.0"
 7259   9449   
 7260   9450   
[dependencies.http]
 7261   9451   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 7262   9452   
index d397c58..2c1062b 100644
 7263         -
-- a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
        9453  +
++ b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 7264   9454   
@@ -1,61 +1,61 @@
 7265   9455   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7266   9456   
[package]
 7267   9457   
name = "aws-sdk-dynamodb"
 7268   9458   
version = "0.0.0-local"
 7269   9459   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7270   9460   
description = "AWS SDK for Amazon DynamoDB"
 7271   9461   
edition = "2021"
 7272   9462   
license = "Apache-2.0"
 7273   9463   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7274   9464   
rust-version = "1.86.0"
 7275   9465   
readme = "README.md"
 7276   9466   
[package.metadata.smithy]
 7277   9467   
codegen-version = "ci"
 7278   9468   
[package.metadata.docs.rs]
 7279   9469   
all-features = true
 7280   9470   
targets = ["x86_64-unknown-linux-gnu"]
 7281   9471   
[dependencies.aws-credential-types]
 7282   9472   
path = "../aws-credential-types"
 7283   9473   
version = "1.2.4"
 7284   9474   
 7285   9475   
[dependencies.aws-runtime]
 7286   9476   
path = "../aws-runtime"
 7287   9477   
version = "1.5.9"
 7288   9478   
 7289   9479   
[dependencies.aws-smithy-async]
 7290   9480   
path = "../aws-smithy-async"
 7291   9481   
version = "1.2.5"
 7292   9482   
 7293   9483   
[dependencies.aws-smithy-http]
 7294   9484   
path = "../aws-smithy-http"
 7295         -
version = "0.62.2"
        9485  +
version = "0.62.3"
 7296   9486   
 7297   9487   
[dependencies.aws-smithy-json]
 7298   9488   
path = "../aws-smithy-json"
 7299   9489   
version = "0.61.4"
 7300   9490   
 7301   9491   
[dependencies.aws-smithy-runtime]
 7302   9492   
path = "../aws-smithy-runtime"
 7303   9493   
features = ["client"]
 7304   9494   
version = "1.8.5"
 7305   9495   
 7306   9496   
[dependencies.aws-smithy-runtime-api]
 7307   9497   
path = "../aws-smithy-runtime-api"
 7308   9498   
features = ["client", "http-02x"]
 7309   9499   
version = "1.8.5"
 7310   9500   
 7311   9501   
[dependencies.aws-smithy-types]
 7312   9502   
path = "../aws-smithy-types"
 7313   9503   
version = "1.3.2"
 7314   9504   
 7315   9505   
[dependencies.aws-types]
 7316   9506   
path = "../aws-types"
 7317   9507   
version = "1.3.8"
 7318   9508   
 7319   9509   
[dependencies.bytes]
 7320   9510   
version = "1.4.0"
 7321   9511   
 7322   9512   
[dependencies.fastrand]
 7323   9513   
version = "2.0.0"
 7324   9514   
 7325   9515   
[dependencies.http]
 7326   9516   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 7327   9517   
index c0ba315..46168af 100644
 7328         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
        9518  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 7329   9519   
@@ -1,61 +1,61 @@
 7330   9520   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7331   9521   
[package]
 7332   9522   
name = "aws-sdk-ec2"
 7333   9523   
version = "0.0.0-local"
 7334   9524   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7335   9525   
description = "AWS SDK for Amazon Elastic Compute Cloud"
 7336   9526   
edition = "2021"
 7337   9527   
license = "Apache-2.0"
 7338   9528   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7339   9529   
rust-version = "1.86.0"
 7340   9530   
readme = "README.md"
 7341   9531   
[package.metadata.smithy]
 7342   9532   
codegen-version = "ci"
 7343   9533   
[package.metadata.docs.rs]
 7344   9534   
all-features = true
 7345   9535   
targets = ["x86_64-unknown-linux-gnu"]
 7346   9536   
[dependencies.aws-credential-types]
 7347   9537   
path = "../aws-credential-types"
 7348   9538   
version = "1.2.4"
 7349   9539   
 7350   9540   
[dependencies.aws-runtime]
 7351   9541   
path = "../aws-runtime"
 7352   9542   
version = "1.5.9"
 7353   9543   
 7354   9544   
[dependencies.aws-smithy-async]
 7355   9545   
path = "../aws-smithy-async"
 7356   9546   
version = "1.2.5"
 7357   9547   
 7358   9548   
[dependencies.aws-smithy-http]
 7359   9549   
path = "../aws-smithy-http"
 7360         -
version = "0.62.2"
        9550  +
version = "0.62.3"
 7361   9551   
 7362   9552   
[dependencies.aws-smithy-json]
 7363   9553   
path = "../aws-smithy-json"
 7364   9554   
version = "0.61.4"
 7365   9555   
 7366   9556   
[dependencies.aws-smithy-query]
 7367   9557   
path = "../aws-smithy-query"
 7368   9558   
version = "0.60.7"
 7369   9559   
 7370   9560   
[dependencies.aws-smithy-runtime]
 7371   9561   
path = "../aws-smithy-runtime"
 7372   9562   
features = ["client"]
 7373   9563   
version = "1.8.5"
 7374   9564   
 7375   9565   
[dependencies.aws-smithy-runtime-api]
 7376   9566   
path = "../aws-smithy-runtime-api"
 7377   9567   
features = ["client", "http-02x"]
 7378   9568   
version = "1.8.5"
 7379   9569   
 7380   9570   
[dependencies.aws-smithy-types]
 7381   9571   
path = "../aws-smithy-types"
 7382   9572   
version = "1.3.2"
 7383   9573   
 7384   9574   
[dependencies.aws-smithy-xml]
 7385   9575   
path = "../aws-smithy-xml"
 7386   9576   
version = "0.60.10"
 7387   9577   
 7388   9578   
[dependencies.aws-types]
 7389   9579   
path = "../aws-types"
 7390   9580   
version = "1.3.8"
 7391   9581   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 7392   9582   
index 4474d17..095d40e 100644
 7393         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
        9583  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 7394   9584   
@@ -1,61 +1,61 @@
 7395   9585   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7396   9586   
[package]
 7397   9587   
name = "aws-sdk-ecs"
 7398   9588   
version = "0.0.0-local"
 7399   9589   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7400   9590   
description = "AWS SDK for Amazon EC2 Container Service"
 7401   9591   
edition = "2021"
 7402   9592   
license = "Apache-2.0"
 7403   9593   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7404   9594   
rust-version = "1.86.0"
 7405   9595   
readme = "README.md"
 7406   9596   
[package.metadata.smithy]
 7407   9597   
codegen-version = "ci"
 7408   9598   
[package.metadata.docs.rs]
 7409   9599   
all-features = true
 7410   9600   
targets = ["x86_64-unknown-linux-gnu"]
 7411   9601   
[dependencies.aws-credential-types]
 7412   9602   
path = "../aws-credential-types"
 7413   9603   
version = "1.2.4"
 7414   9604   
 7415   9605   
[dependencies.aws-runtime]
 7416   9606   
path = "../aws-runtime"
 7417   9607   
version = "1.5.9"
 7418   9608   
 7419   9609   
[dependencies.aws-smithy-async]
 7420   9610   
path = "../aws-smithy-async"
 7421   9611   
version = "1.2.5"
 7422   9612   
 7423   9613   
[dependencies.aws-smithy-http]
 7424   9614   
path = "../aws-smithy-http"
 7425         -
version = "0.62.2"
        9615  +
version = "0.62.3"
 7426   9616   
 7427   9617   
[dependencies.aws-smithy-json]
 7428   9618   
path = "../aws-smithy-json"
 7429   9619   
version = "0.61.4"
 7430   9620   
 7431   9621   
[dependencies.aws-smithy-runtime]
 7432   9622   
path = "../aws-smithy-runtime"
 7433   9623   
features = ["client"]
 7434   9624   
version = "1.8.5"
 7435   9625   
 7436   9626   
[dependencies.aws-smithy-runtime-api]
 7437   9627   
path = "../aws-smithy-runtime-api"
 7438   9628   
features = ["client", "http-02x"]
 7439   9629   
version = "1.8.5"
 7440   9630   
 7441   9631   
[dependencies.aws-smithy-types]
 7442   9632   
path = "../aws-smithy-types"
 7443   9633   
version = "1.3.2"
 7444   9634   
 7445   9635   
[dependencies.aws-types]
 7446   9636   
path = "../aws-types"
 7447   9637   
version = "1.3.8"
 7448   9638   
 7449   9639   
[dependencies.bytes]
 7450   9640   
version = "1.4.0"
 7451   9641   
 7452   9642   
[dependencies.fastrand]
 7453   9643   
version = "2.0.0"
 7454   9644   
 7455   9645   
[dependencies.http]
 7456   9646   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 7457   9647   
index 15b1d77..16d7d89 100644
 7458         -
-- a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
        9648  +
++ b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 7459   9649   
@@ -1,65 +1,65 @@
 7460   9650   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7461   9651   
[package]
 7462   9652   
name = "aws-sdk-glacier"
 7463   9653   
version = "0.0.0-local"
 7464   9654   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7465   9655   
description = "AWS SDK for Amazon Glacier"
 7466   9656   
edition = "2021"
 7467   9657   
license = "Apache-2.0"
 7468   9658   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7469   9659   
rust-version = "1.86.0"
 7470   9660   
readme = "README.md"
 7471   9661   
[package.metadata.smithy]
 7472   9662   
codegen-version = "ci"
 7473   9663   
[package.metadata.docs.rs]
 7474   9664   
all-features = true
 7475   9665   
targets = ["x86_64-unknown-linux-gnu"]
 7476   9666   
[dependencies.aws-credential-types]
 7477   9667   
path = "../aws-credential-types"
 7478   9668   
version = "1.2.4"
 7479   9669   
 7480   9670   
[dependencies.aws-runtime]
 7481   9671   
path = "../aws-runtime"
 7482   9672   
version = "1.5.9"
 7483   9673   
 7484   9674   
[dependencies.aws-sigv4]
 7485   9675   
path = "../aws-sigv4"
 7486         -
version = "1.3.3"
        9676  +
version = "1.3.4"
 7487   9677   
 7488   9678   
[dependencies.aws-smithy-async]
 7489   9679   
path = "../aws-smithy-async"
 7490   9680   
version = "1.2.5"
 7491   9681   
 7492   9682   
[dependencies.aws-smithy-http]
 7493   9683   
path = "../aws-smithy-http"
 7494         -
version = "0.62.2"
        9684  +
version = "0.62.3"
 7495   9685   
 7496   9686   
[dependencies.aws-smithy-json]
 7497   9687   
path = "../aws-smithy-json"
 7498   9688   
version = "0.61.4"
 7499   9689   
 7500   9690   
[dependencies.aws-smithy-runtime]
 7501   9691   
path = "../aws-smithy-runtime"
 7502   9692   
features = ["client"]
 7503   9693   
version = "1.8.5"
 7504   9694   
 7505   9695   
[dependencies.aws-smithy-runtime-api]
 7506   9696   
path = "../aws-smithy-runtime-api"
 7507   9697   
features = ["client", "http-02x"]
 7508   9698   
version = "1.8.5"
 7509   9699   
 7510   9700   
[dependencies.aws-smithy-types]
 7511   9701   
path = "../aws-smithy-types"
 7512   9702   
version = "1.3.2"
 7513   9703   
 7514   9704   
[dependencies.aws-types]
 7515   9705   
path = "../aws-types"
 7516   9706   
version = "1.3.8"
 7517   9707   
 7518   9708   
[dependencies.bytes]
 7519   9709   
version = "1.4.0"
 7520   9710   
 7521   9711   
[dependencies.fastrand]
 7522   9712   
version = "2.0.0"
 7523   9713   
 7524   9714   
[dependencies.hex]
 7525   9715   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7526   9716   
index d718a3a..65e6f24 100644
 7527         -
-- a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
        9717  +
++ b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7528   9718   
@@ -1,61 +1,61 @@
 7529   9719   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7530   9720   
[package]
 7531   9721   
name = "aws-sdk-iam"
 7532   9722   
version = "0.0.0-local"
 7533   9723   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7534   9724   
description = "AWS SDK for AWS Identity and Access Management"
 7535   9725   
edition = "2021"
 7536   9726   
license = "Apache-2.0"
 7537   9727   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7538   9728   
rust-version = "1.86.0"
 7539   9729   
readme = "README.md"
 7540   9730   
[package.metadata.smithy]
 7541   9731   
codegen-version = "ci"
 7542   9732   
[package.metadata.docs.rs]
 7543   9733   
all-features = true
 7544   9734   
targets = ["x86_64-unknown-linux-gnu"]
 7545   9735   
[dependencies.aws-credential-types]
 7546   9736   
path = "../aws-credential-types"
 7547   9737   
version = "1.2.4"
 7548   9738   
 7549   9739   
[dependencies.aws-runtime]
 7550   9740   
path = "../aws-runtime"
 7551   9741   
version = "1.5.9"
 7552   9742   
 7553   9743   
[dependencies.aws-smithy-async]
 7554   9744   
path = "../aws-smithy-async"
 7555   9745   
version = "1.2.5"
 7556   9746   
 7557   9747   
[dependencies.aws-smithy-http]
 7558   9748   
path = "../aws-smithy-http"
 7559         -
version = "0.62.2"
        9749  +
version = "0.62.3"
 7560   9750   
 7561   9751   
[dependencies.aws-smithy-json]
 7562   9752   
path = "../aws-smithy-json"
 7563   9753   
version = "0.61.4"
 7564   9754   
 7565   9755   
[dependencies.aws-smithy-query]
 7566   9756   
path = "../aws-smithy-query"
 7567   9757   
version = "0.60.7"
 7568   9758   
 7569   9759   
[dependencies.aws-smithy-runtime]
 7570   9760   
path = "../aws-smithy-runtime"
 7571   9761   
features = ["client"]
 7572   9762   
version = "1.8.5"
 7573   9763   
 7574   9764   
[dependencies.aws-smithy-runtime-api]
 7575   9765   
path = "../aws-smithy-runtime-api"
 7576   9766   
features = ["client", "http-02x"]
 7577   9767   
version = "1.8.5"
 7578   9768   
 7579   9769   
[dependencies.aws-smithy-types]
 7580   9770   
path = "../aws-smithy-types"
 7581   9771   
version = "1.3.2"
 7582   9772   
 7583   9773   
[dependencies.aws-smithy-xml]
 7584   9774   
path = "../aws-smithy-xml"
 7585   9775   
version = "0.60.10"
 7586   9776   
 7587   9777   
[dependencies.aws-types]
 7588   9778   
path = "../aws-types"
 7589   9779   
version = "1.3.8"
 7590   9780   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7591   9781   
index 0ed4302..3d828a5 100644
 7592         -
-- a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
        9782  +
++ b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7593   9783   
@@ -1,61 +1,61 @@
 7594   9784   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7595   9785   
[package]
 7596   9786   
name = "aws-sdk-kms"
 7597   9787   
version = "0.0.0-local"
 7598   9788   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7599   9789   
description = "AWS SDK for AWS Key Management Service"
 7600   9790   
edition = "2021"
 7601   9791   
license = "Apache-2.0"
 7602   9792   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7603   9793   
rust-version = "1.86.0"
 7604   9794   
readme = "README.md"
 7605   9795   
[package.metadata.smithy]
 7606   9796   
codegen-version = "ci"
 7607   9797   
[package.metadata.docs.rs]
 7608   9798   
all-features = true
 7609   9799   
targets = ["x86_64-unknown-linux-gnu"]
 7610   9800   
[dependencies.aws-credential-types]
 7611   9801   
path = "../aws-credential-types"
 7612   9802   
version = "1.2.4"
 7613   9803   
 7614   9804   
[dependencies.aws-runtime]
 7615   9805   
path = "../aws-runtime"
 7616   9806   
version = "1.5.9"
 7617   9807   
 7618   9808   
[dependencies.aws-smithy-async]
 7619   9809   
path = "../aws-smithy-async"
 7620   9810   
version = "1.2.5"
 7621   9811   
 7622   9812   
[dependencies.aws-smithy-http]
 7623   9813   
path = "../aws-smithy-http"
 7624         -
version = "0.62.2"
        9814  +
version = "0.62.3"
 7625   9815   
 7626   9816   
[dependencies.aws-smithy-json]
 7627   9817   
path = "../aws-smithy-json"
 7628   9818   
version = "0.61.4"
 7629   9819   
 7630   9820   
[dependencies.aws-smithy-runtime]
 7631   9821   
path = "../aws-smithy-runtime"
 7632   9822   
features = ["client"]
 7633   9823   
version = "1.8.5"
 7634   9824   
 7635   9825   
[dependencies.aws-smithy-runtime-api]
 7636   9826   
path = "../aws-smithy-runtime-api"
 7637   9827   
features = ["client", "http-02x"]
 7638   9828   
version = "1.8.5"
 7639   9829   
 7640   9830   
[dependencies.aws-smithy-types]
 7641   9831   
path = "../aws-smithy-types"
 7642   9832   
version = "1.3.2"
 7643   9833   
 7644   9834   
[dependencies.aws-types]
 7645   9835   
path = "../aws-types"
 7646   9836   
version = "1.3.8"
 7647   9837   
 7648   9838   
[dependencies.bytes]
 7649   9839   
version = "1.4.0"
 7650   9840   
 7651   9841   
[dependencies.fastrand]
 7652   9842   
version = "2.0.0"
 7653   9843   
 7654   9844   
[dependencies.http]
 7655   9845   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7656   9846   
index 6518dfc..6b94752 100644
 7657         -
-- a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
        9847  +
++ b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7658   9848   
@@ -7,61 +7,61 @@ description = "AWS SDK for AWS Lambda"
 7659   9849   
edition = "2021"
 7660   9850   
license = "Apache-2.0"
 7661   9851   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7662   9852   
rust-version = "1.86.0"
 7663   9853   
readme = "README.md"
 7664   9854   
[package.metadata.smithy]
 7665   9855   
codegen-version = "ci"
 7666   9856   
[package.metadata.docs.rs]
 7667   9857   
all-features = true
 7668   9858   
targets = ["x86_64-unknown-linux-gnu"]
 7669   9859   
[dependencies.aws-credential-types]
 7670   9860   
path = "../aws-credential-types"
 7671   9861   
version = "1.2.4"
 7672   9862   
 7673   9863   
[dependencies.aws-runtime]
 7674   9864   
path = "../aws-runtime"
 7675   9865   
features = ["event-stream"]
 7676   9866   
version = "1.5.9"
 7677   9867   
 7678   9868   
[dependencies.aws-smithy-async]
 7679   9869   
path = "../aws-smithy-async"
 7680   9870   
version = "1.2.5"
 7681   9871   
 7682   9872   
[dependencies.aws-smithy-eventstream]
 7683   9873   
path = "../aws-smithy-eventstream"
 7684   9874   
version = "0.60.10"
 7685   9875   
 7686   9876   
[dependencies.aws-smithy-http]
 7687   9877   
path = "../aws-smithy-http"
 7688   9878   
features = ["event-stream"]
 7689         -
version = "0.62.2"
        9879  +
version = "0.62.3"
 7690   9880   
 7691   9881   
[dependencies.aws-smithy-json]
 7692   9882   
path = "../aws-smithy-json"
 7693   9883   
version = "0.61.4"
 7694   9884   
 7695   9885   
[dependencies.aws-smithy-runtime]
 7696   9886   
path = "../aws-smithy-runtime"
 7697   9887   
features = ["client"]
 7698   9888   
version = "1.8.5"
 7699   9889   
 7700   9890   
[dependencies.aws-smithy-runtime-api]
 7701   9891   
path = "../aws-smithy-runtime-api"
 7702   9892   
features = ["client", "http-02x"]
 7703   9893   
version = "1.8.5"
 7704   9894   
 7705   9895   
[dependencies.aws-smithy-types]
 7706   9896   
path = "../aws-smithy-types"
 7707   9897   
version = "1.3.2"
 7708   9898   
 7709   9899   
[dependencies.aws-types]
 7710   9900   
path = "../aws-types"
 7711   9901   
version = "1.3.8"
 7712   9902   
 7713   9903   
[dependencies.bytes]
 7714   9904   
version = "1.4.0"
 7715   9905   
 7716   9906   
[dependencies.fastrand]
 7717   9907   
version = "2.0.0"
 7718   9908   
 7719   9909   
[dependencies.http]
 7720   9910   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7721   9911   
index dabb0e0..34cbc15 100644
 7722         -
-- a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
        9912  +
++ b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7723   9913   
@@ -1,65 +1,65 @@
 7724   9914   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7725   9915   
[package]
 7726   9916   
name = "aws-sdk-polly"
 7727   9917   
version = "0.0.0-local"
 7728   9918   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7729   9919   
description = "AWS SDK for Amazon Polly"
 7730   9920   
edition = "2021"
 7731   9921   
license = "Apache-2.0"
 7732   9922   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7733   9923   
rust-version = "1.86.0"
 7734   9924   
readme = "README.md"
 7735   9925   
[package.metadata.smithy]
 7736   9926   
codegen-version = "ci"
 7737   9927   
[package.metadata.docs.rs]
 7738   9928   
all-features = true
 7739   9929   
targets = ["x86_64-unknown-linux-gnu"]
 7740   9930   
[dependencies.aws-credential-types]
 7741   9931   
path = "../aws-credential-types"
 7742   9932   
version = "1.2.4"
 7743   9933   
 7744   9934   
[dependencies.aws-runtime]
 7745   9935   
path = "../aws-runtime"
 7746   9936   
version = "1.5.9"
 7747   9937   
 7748   9938   
[dependencies.aws-sigv4]
 7749   9939   
path = "../aws-sigv4"
 7750         -
version = "1.3.3"
        9940  +
version = "1.3.4"
 7751   9941   
 7752   9942   
[dependencies.aws-smithy-async]
 7753   9943   
path = "../aws-smithy-async"
 7754   9944   
version = "1.2.5"
 7755   9945   
 7756   9946   
[dependencies.aws-smithy-http]
 7757   9947   
path = "../aws-smithy-http"
 7758         -
version = "0.62.2"
        9948  +
version = "0.62.3"
 7759   9949   
 7760   9950   
[dependencies.aws-smithy-json]
 7761   9951   
path = "../aws-smithy-json"
 7762   9952   
version = "0.61.4"
 7763   9953   
 7764   9954   
[dependencies.aws-smithy-runtime]
 7765   9955   
path = "../aws-smithy-runtime"
 7766   9956   
features = ["client"]
 7767   9957   
version = "1.8.5"
 7768   9958   
 7769   9959   
[dependencies.aws-smithy-runtime-api]
 7770   9960   
path = "../aws-smithy-runtime-api"
 7771   9961   
features = ["client", "http-02x"]
 7772   9962   
version = "1.8.5"
 7773   9963   
 7774   9964   
[dependencies.aws-smithy-types]
 7775   9965   
path = "../aws-smithy-types"
 7776   9966   
version = "1.3.2"
 7777   9967   
 7778   9968   
[dependencies.aws-types]
 7779   9969   
path = "../aws-types"
 7780   9970   
version = "1.3.8"
 7781   9971   
 7782   9972   
[dependencies.bytes]
 7783   9973   
version = "1.4.0"
 7784   9974   
 7785   9975   
[dependencies.fastrand]
 7786   9976   
version = "2.0.0"
 7787   9977   
 7788   9978   
[dependencies.http]
 7789   9979   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7790   9980   
index a884716..f3d8713 100644
 7791         -
-- a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
        9981  +
++ b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7792   9982   
@@ -1,61 +1,61 @@
 7793   9983   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7794   9984   
[package]
 7795   9985   
name = "aws-sdk-qldbsession"
 7796   9986   
version = "0.0.0-local"
 7797   9987   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7798   9988   
description = "AWS SDK for Amazon QLDB Session"
 7799   9989   
edition = "2021"
 7800   9990   
license = "Apache-2.0"
 7801   9991   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7802   9992   
rust-version = "1.86.0"
 7803   9993   
readme = "README.md"
 7804   9994   
[package.metadata.smithy]
 7805   9995   
codegen-version = "ci"
 7806   9996   
[package.metadata.docs.rs]
 7807   9997   
all-features = true
 7808   9998   
targets = ["x86_64-unknown-linux-gnu"]
 7809   9999   
[dependencies.aws-credential-types]
 7810  10000   
path = "../aws-credential-types"
 7811  10001   
version = "1.2.4"
 7812  10002   
 7813  10003   
[dependencies.aws-runtime]
 7814  10004   
path = "../aws-runtime"
 7815  10005   
version = "1.5.9"
 7816  10006   
 7817  10007   
[dependencies.aws-smithy-async]
 7818  10008   
path = "../aws-smithy-async"
 7819  10009   
version = "1.2.5"
 7820  10010   
 7821  10011   
[dependencies.aws-smithy-http]
 7822  10012   
path = "../aws-smithy-http"
 7823         -
version = "0.62.2"
       10013  +
version = "0.62.3"
 7824  10014   
 7825  10015   
[dependencies.aws-smithy-json]
 7826  10016   
path = "../aws-smithy-json"
 7827  10017   
version = "0.61.4"
 7828  10018   
 7829  10019   
[dependencies.aws-smithy-runtime]
 7830  10020   
path = "../aws-smithy-runtime"
 7831  10021   
features = ["client"]
 7832  10022   
version = "1.8.5"
 7833  10023   
 7834  10024   
[dependencies.aws-smithy-runtime-api]
 7835  10025   
path = "../aws-smithy-runtime-api"
 7836  10026   
features = ["client", "http-02x"]
 7837  10027   
version = "1.8.5"
 7838  10028   
 7839  10029   
[dependencies.aws-smithy-types]
 7840  10030   
path = "../aws-smithy-types"
 7841  10031   
version = "1.3.2"
 7842  10032   
 7843  10033   
[dependencies.aws-types]
 7844  10034   
path = "../aws-types"
 7845  10035   
version = "1.3.8"
 7846  10036   
 7847  10037   
[dependencies.bytes]
 7848  10038   
version = "1.4.0"
 7849  10039   
 7850  10040   
[dependencies.fastrand]
 7851  10041   
version = "2.0.0"
 7852  10042   
 7853  10043   
[dependencies.http]
 7854  10044   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7855  10045   
index 32a7dc9..a2c752d 100644
 7856         -
-- a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
       10046  +
++ b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7857  10047   
@@ -1,61 +1,61 @@
 7858  10048   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7859  10049   
[package]
 7860  10050   
name = "aws-sdk-route53"
 7861  10051   
version = "0.0.0-local"
 7862  10052   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7863  10053   
description = "AWS SDK for Amazon Route 53"
 7864  10054   
edition = "2021"
 7865  10055   
license = "Apache-2.0"
 7866  10056   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7867  10057   
rust-version = "1.86.0"
 7868  10058   
readme = "README.md"
 7869  10059   
[package.metadata.smithy]
 7870  10060   
codegen-version = "ci"
 7871  10061   
[package.metadata.docs.rs]
 7872  10062   
all-features = true
 7873  10063   
targets = ["x86_64-unknown-linux-gnu"]
 7874  10064   
[dependencies.aws-credential-types]
 7875  10065   
path = "../aws-credential-types"
 7876  10066   
version = "1.2.4"
 7877  10067   
 7878  10068   
[dependencies.aws-runtime]
 7879  10069   
path = "../aws-runtime"
 7880  10070   
version = "1.5.9"
 7881  10071   
 7882  10072   
[dependencies.aws-smithy-async]
 7883  10073   
path = "../aws-smithy-async"
 7884  10074   
version = "1.2.5"
 7885  10075   
 7886  10076   
[dependencies.aws-smithy-http]
 7887  10077   
path = "../aws-smithy-http"
 7888         -
version = "0.62.2"
       10078  +
version = "0.62.3"
 7889  10079   
 7890  10080   
[dependencies.aws-smithy-json]
 7891  10081   
path = "../aws-smithy-json"
 7892  10082   
version = "0.61.4"
 7893  10083   
 7894  10084   
[dependencies.aws-smithy-runtime]
 7895  10085   
path = "../aws-smithy-runtime"
 7896  10086   
features = ["client"]
 7897  10087   
version = "1.8.5"
 7898  10088   
 7899  10089   
[dependencies.aws-smithy-runtime-api]
 7900  10090   
path = "../aws-smithy-runtime-api"
 7901  10091   
features = ["client", "http-02x"]
 7902  10092   
version = "1.8.5"
 7903  10093   
 7904  10094   
[dependencies.aws-smithy-types]
 7905  10095   
path = "../aws-smithy-types"
 7906  10096   
version = "1.3.2"
 7907  10097   
 7908  10098   
[dependencies.aws-smithy-xml]
 7909  10099   
path = "../aws-smithy-xml"
 7910  10100   
version = "0.60.10"
 7911  10101   
 7912  10102   
[dependencies.aws-types]
 7913  10103   
path = "../aws-types"
 7914  10104   
version = "1.3.8"
 7915  10105   
 7916  10106   
[dependencies.fastrand]
 7917  10107   
version = "2.0.0"
 7918  10108   
 7919  10109   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7920  10110   
index f65e261..2f6bec0 100644
 7921         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
       10111  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7922  10112   
@@ -1,75 +1,75 @@
 7923  10113   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7924  10114   
[package]
 7925  10115   
name = "aws-sdk-s3"
 7926  10116   
version = "0.0.0-local"
 7927  10117   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7928  10118   
description = "AWS SDK for Amazon Simple Storage Service"
 7929  10119   
edition = "2021"
 7930  10120   
license = "Apache-2.0"
 7931  10121   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7932  10122   
rust-version = "1.86.0"
 7933  10123   
readme = "README.md"
 7934  10124   
[package.metadata.smithy]
 7935  10125   
codegen-version = "ci"
 7936  10126   
[package.metadata.docs.rs]
 7937  10127   
all-features = true
 7938  10128   
targets = ["x86_64-unknown-linux-gnu"]
 7939  10129   
[dependencies.aws-credential-types]
 7940  10130   
path = "../aws-credential-types"
 7941  10131   
version = "1.2.4"
 7942  10132   
 7943  10133   
[dependencies.aws-runtime]
 7944  10134   
path = "../aws-runtime"
 7945  10135   
features = ["event-stream", "http-02x"]
 7946  10136   
version = "1.5.9"
 7947  10137   
 7948  10138   
[dependencies.aws-sigv4]
 7949  10139   
path = "../aws-sigv4"
 7950         -
version = "1.3.3"
       10140  +
version = "1.3.4"
 7951  10141   
 7952  10142   
[dependencies.aws-smithy-async]
 7953  10143   
path = "../aws-smithy-async"
 7954  10144   
version = "1.2.5"
 7955  10145   
 7956  10146   
[dependencies.aws-smithy-checksums]
 7957  10147   
path = "../aws-smithy-checksums"
 7958  10148   
version = "0.63.5"
 7959  10149   
 7960  10150   
[dependencies.aws-smithy-eventstream]
 7961  10151   
path = "../aws-smithy-eventstream"
 7962  10152   
version = "0.60.10"
 7963  10153   
 7964  10154   
[dependencies.aws-smithy-http]
 7965  10155   
path = "../aws-smithy-http"
 7966  10156   
features = ["event-stream"]
 7967         -
version = "0.62.2"
       10157  +
version = "0.62.3"
 7968  10158   
 7969  10159   
[dependencies.aws-smithy-json]
 7970  10160   
path = "../aws-smithy-json"
 7971  10161   
version = "0.61.4"
 7972  10162   
 7973  10163   
[dependencies.aws-smithy-runtime]
 7974  10164   
path = "../aws-smithy-runtime"
 7975  10165   
features = ["client"]
 7976  10166   
version = "1.8.5"
 7977  10167   
 7978  10168   
[dependencies.aws-smithy-runtime-api]
 7979  10169   
path = "../aws-smithy-runtime-api"
 7980  10170   
features = ["client", "http-02x"]
 7981  10171   
version = "1.8.5"
 7982  10172   
 7983  10173   
[dependencies.aws-smithy-types]
 7984  10174   
path = "../aws-smithy-types"
 7985  10175   
version = "1.3.2"
 7986  10176   
 7987  10177   
[dependencies.aws-smithy-xml]
 7988  10178   
path = "../aws-smithy-xml"
 7989  10179   
version = "0.60.10"
 7990  10180   
 7991  10181   
[dependencies.aws-types]
 7992  10182   
path = "../aws-types"
 7993  10183   
version = "1.3.8"
 7994  10184   
 7995  10185   
[dependencies.bytes]
 7996  10186   
version = "1.4.0"
 7997  10187   
 7998  10188   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7999  10189   
index b4d1cdd..861c0cc 100644
 8000         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
       10190  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 8001  10191   
@@ -1,61 +1,61 @@
 8002  10192   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8003  10193   
[package]
 8004  10194   
name = "aws-sdk-s3control"
 8005  10195   
version = "0.0.0-local"
 8006  10196   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8007  10197   
description = "AWS SDK for AWS S3 Control"
 8008  10198   
edition = "2021"
 8009  10199   
license = "Apache-2.0"
 8010  10200   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8011  10201   
rust-version = "1.86.0"
 8012  10202   
readme = "README.md"
 8013  10203   
[package.metadata.smithy]
 8014  10204   
codegen-version = "ci"
 8015  10205   
[package.metadata.docs.rs]
 8016  10206   
all-features = true
 8017  10207   
targets = ["x86_64-unknown-linux-gnu"]
 8018  10208   
[dependencies.aws-credential-types]
 8019  10209   
path = "../aws-credential-types"
 8020  10210   
version = "1.2.4"
 8021  10211   
 8022  10212   
[dependencies.aws-runtime]
 8023  10213   
path = "../aws-runtime"
 8024  10214   
version = "1.5.9"
 8025  10215   
 8026  10216   
[dependencies.aws-smithy-async]
 8027  10217   
path = "../aws-smithy-async"
 8028  10218   
version = "1.2.5"
 8029  10219   
 8030  10220   
[dependencies.aws-smithy-http]
 8031  10221   
path = "../aws-smithy-http"
 8032         -
version = "0.62.2"
       10222  +
version = "0.62.3"
 8033  10223   
 8034  10224   
[dependencies.aws-smithy-json]
 8035  10225   
path = "../aws-smithy-json"
 8036  10226   
version = "0.61.4"
 8037  10227   
 8038  10228   
[dependencies.aws-smithy-runtime]
 8039  10229   
path = "../aws-smithy-runtime"
 8040  10230   
features = ["client"]
 8041  10231   
version = "1.8.5"
 8042  10232   
 8043  10233   
[dependencies.aws-smithy-runtime-api]
 8044  10234   
path = "../aws-smithy-runtime-api"
 8045  10235   
features = ["client", "http-02x"]
 8046  10236   
version = "1.8.5"
 8047  10237   
 8048  10238   
[dependencies.aws-smithy-types]
 8049  10239   
path = "../aws-smithy-types"
 8050  10240   
version = "1.3.2"
 8051  10241   
 8052  10242   
[dependencies.aws-smithy-xml]
 8053  10243   
path = "../aws-smithy-xml"
 8054  10244   
version = "0.60.10"
 8055  10245   
 8056  10246   
[dependencies.aws-types]
 8057  10247   
path = "../aws-types"
 8058  10248   
version = "1.3.8"
 8059  10249   
 8060  10250   
[dependencies.fastrand]
 8061  10251   
version = "2.0.0"
 8062  10252   
 8063  10253   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 8064  10254   
index 2cde182..fc367f4 100644
 8065         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
       10255  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 8066  10256   
@@ -1,61 +1,61 @@
 8067  10257   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8068  10258   
[package]
 8069  10259   
name = "aws-sdk-sso"
 8070  10260   
version = "0.0.0-local"
 8071  10261   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8072  10262   
description = "AWS SDK for AWS Single Sign-On"
 8073  10263   
edition = "2021"
 8074  10264   
license = "Apache-2.0"
 8075  10265   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8076  10266   
rust-version = "1.86.0"
 8077  10267   
readme = "README.md"
 8078  10268   
[package.metadata.smithy]
 8079  10269   
codegen-version = "ci"
 8080  10270   
[package.metadata.docs.rs]
 8081  10271   
all-features = true
 8082  10272   
targets = ["x86_64-unknown-linux-gnu"]
 8083  10273   
[dependencies.aws-credential-types]
 8084  10274   
path = "../aws-credential-types"
 8085  10275   
version = "1.2.4"
 8086  10276   
 8087  10277   
[dependencies.aws-runtime]
 8088  10278   
path = "../aws-runtime"
 8089  10279   
version = "1.5.9"
 8090  10280   
 8091  10281   
[dependencies.aws-smithy-async]
 8092  10282   
path = "../aws-smithy-async"
 8093  10283   
version = "1.2.5"
 8094  10284   
 8095  10285   
[dependencies.aws-smithy-http]
 8096  10286   
path = "../aws-smithy-http"
 8097         -
version = "0.62.2"
       10287  +
version = "0.62.3"
 8098  10288   
 8099  10289   
[dependencies.aws-smithy-json]
 8100  10290   
path = "../aws-smithy-json"
 8101  10291   
version = "0.61.4"
 8102  10292   
 8103  10293   
[dependencies.aws-smithy-runtime]
 8104  10294   
path = "../aws-smithy-runtime"
 8105  10295   
features = ["client"]
 8106  10296   
version = "1.8.5"
 8107  10297   
 8108  10298   
[dependencies.aws-smithy-runtime-api]
 8109  10299   
path = "../aws-smithy-runtime-api"
 8110  10300   
features = ["client", "http-02x"]
 8111  10301   
version = "1.8.5"
 8112  10302   
 8113  10303   
[dependencies.aws-smithy-types]
 8114  10304   
path = "../aws-smithy-types"
 8115  10305   
version = "1.3.2"
 8116  10306   
 8117  10307   
[dependencies.aws-types]
 8118  10308   
path = "../aws-types"
 8119  10309   
version = "1.3.8"
 8120  10310   
 8121  10311   
[dependencies.bytes]
 8122  10312   
version = "1.4.0"
 8123  10313   
 8124  10314   
[dependencies.fastrand]
 8125  10315   
version = "2.0.0"
 8126  10316   
 8127  10317   
[dependencies.http]
 8128  10318   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 8129  10319   
index 7a34c16..588d0bd 100644
 8130         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
       10320  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 8131  10321   
@@ -1,61 +1,61 @@
 8132  10322   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8133  10323   
[package]
 8134  10324   
name = "aws-sdk-ssooidc"
 8135  10325   
version = "0.0.0-local"
 8136  10326   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8137  10327   
description = "AWS SDK for AWS SSO OIDC"
 8138  10328   
edition = "2021"
 8139  10329   
license = "Apache-2.0"
 8140  10330   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8141  10331   
rust-version = "1.86.0"
 8142  10332   
readme = "README.md"
 8143  10333   
[package.metadata.smithy]
 8144  10334   
codegen-version = "ci"
 8145  10335   
[package.metadata.docs.rs]
 8146  10336   
all-features = true
 8147  10337   
targets = ["x86_64-unknown-linux-gnu"]
 8148  10338   
[dependencies.aws-credential-types]
 8149  10339   
path = "../aws-credential-types"
 8150  10340   
version = "1.2.4"
 8151  10341   
 8152  10342   
[dependencies.aws-runtime]
 8153  10343   
path = "../aws-runtime"
 8154  10344   
version = "1.5.9"
 8155  10345   
 8156  10346   
[dependencies.aws-smithy-async]
 8157  10347   
path = "../aws-smithy-async"
 8158  10348   
version = "1.2.5"
 8159  10349   
 8160  10350   
[dependencies.aws-smithy-http]
 8161  10351   
path = "../aws-smithy-http"
 8162         -
version = "0.62.2"
       10352  +
version = "0.62.3"
 8163  10353   
 8164  10354   
[dependencies.aws-smithy-json]
 8165  10355   
path = "../aws-smithy-json"
 8166  10356   
version = "0.61.4"
 8167  10357   
 8168  10358   
[dependencies.aws-smithy-runtime]
 8169  10359   
path = "../aws-smithy-runtime"
 8170  10360   
features = ["client"]
 8171  10361   
version = "1.8.5"
 8172  10362   
 8173  10363   
[dependencies.aws-smithy-runtime-api]
 8174  10364   
path = "../aws-smithy-runtime-api"
 8175  10365   
features = ["client", "http-02x"]
 8176  10366   
version = "1.8.5"
 8177  10367   
 8178  10368   
[dependencies.aws-smithy-types]
 8179  10369   
path = "../aws-smithy-types"
 8180  10370   
version = "1.3.2"
 8181  10371   
 8182  10372   
[dependencies.aws-types]
 8183  10373   
path = "../aws-types"
 8184  10374   
version = "1.3.8"
 8185  10375   
 8186  10376   
[dependencies.bytes]
 8187  10377   
version = "1.4.0"
 8188  10378   
 8189  10379   
[dependencies.fastrand]
 8190  10380   
version = "2.0.0"
 8191  10381   
 8192  10382   
[dependencies.http]
 8193  10383   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 8194  10384   
index 895dfb3..f2ce34e 100644
 8195         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
       10385  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 8196  10386   
@@ -1,61 +1,61 @@
 8197  10387   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8198  10388   
[package]
 8199  10389   
name = "aws-sdk-sts"
 8200  10390   
version = "0.0.0-local"
 8201  10391   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8202  10392   
description = "AWS SDK for AWS Security Token Service"
 8203  10393   
edition = "2021"
 8204  10394   
license = "Apache-2.0"
 8205  10395   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8206  10396   
rust-version = "1.86.0"
 8207  10397   
readme = "README.md"
 8208  10398   
[package.metadata.smithy]
 8209  10399   
codegen-version = "ci"
 8210  10400   
[package.metadata.docs.rs]
 8211  10401   
all-features = true
 8212  10402   
targets = ["x86_64-unknown-linux-gnu"]
 8213  10403   
[dependencies.aws-credential-types]
 8214  10404   
path = "../aws-credential-types"
 8215  10405   
version = "1.2.4"
 8216  10406   
 8217  10407   
[dependencies.aws-runtime]
 8218  10408   
path = "../aws-runtime"
 8219  10409   
version = "1.5.9"
 8220  10410   
 8221  10411   
[dependencies.aws-smithy-async]
 8222  10412   
path = "../aws-smithy-async"
 8223  10413   
version = "1.2.5"
 8224  10414   
 8225  10415   
[dependencies.aws-smithy-http]
 8226  10416   
path = "../aws-smithy-http"
 8227         -
version = "0.62.2"
       10417  +
version = "0.62.3"
 8228  10418   
 8229  10419   
[dependencies.aws-smithy-json]
 8230  10420   
path = "../aws-smithy-json"
 8231  10421   
version = "0.61.4"
 8232  10422   
 8233  10423   
[dependencies.aws-smithy-query]
 8234  10424   
path = "../aws-smithy-query"
 8235  10425   
version = "0.60.7"
 8236  10426   
 8237  10427   
[dependencies.aws-smithy-runtime]
 8238  10428   
path = "../aws-smithy-runtime"
 8239  10429   
features = ["client"]
 8240  10430   
version = "1.8.5"
 8241  10431   
 8242  10432   
[dependencies.aws-smithy-runtime-api]
 8243  10433   
path = "../aws-smithy-runtime-api"
 8244  10434   
features = ["client", "http-02x"]
 8245  10435   
version = "1.8.5"
 8246  10436   
 8247  10437   
[dependencies.aws-smithy-types]
 8248  10438   
path = "../aws-smithy-types"
 8249  10439   
version = "1.3.2"
 8250  10440   
 8251  10441   
[dependencies.aws-smithy-xml]
 8252  10442   
path = "../aws-smithy-xml"
 8253  10443   
version = "0.60.10"
 8254  10444   
 8255  10445   
[dependencies.aws-types]
 8256  10446   
path = "../aws-types"
 8257  10447   
version = "1.3.8"
 8258  10448   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 8259  10449   
index d556561..91178b6 100644
 8260         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
       10450  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 8261  10451   
@@ -1,61 +1,61 @@
 8262  10452   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8263  10453   
[package]
 8264  10454   
name = "aws-sdk-timestreamquery"
 8265  10455   
version = "0.0.0-local"
 8266  10456   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8267  10457   
description = "AWS SDK for Amazon Timestream Query"
 8268  10458   
edition = "2021"
 8269  10459   
license = "Apache-2.0"
 8270  10460   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8271  10461   
rust-version = "1.86.0"
 8272  10462   
readme = "README.md"
 8273  10463   
[package.metadata.smithy]
 8274  10464   
codegen-version = "ci"
 8275  10465   
[package.metadata.docs.rs]
 8276  10466   
all-features = true
 8277  10467   
targets = ["x86_64-unknown-linux-gnu"]
 8278  10468   
[dependencies.aws-credential-types]
 8279  10469   
path = "../aws-credential-types"
 8280  10470   
version = "1.2.4"
 8281  10471   
 8282  10472   
[dependencies.aws-runtime]
 8283  10473   
path = "../aws-runtime"
 8284  10474   
version = "1.5.9"
 8285  10475   
 8286  10476   
[dependencies.aws-smithy-async]
 8287  10477   
path = "../aws-smithy-async"
 8288  10478   
version = "1.2.5"
 8289  10479   
 8290  10480   
[dependencies.aws-smithy-http]
 8291  10481   
path = "../aws-smithy-http"
 8292         -
version = "0.62.2"
       10482  +
version = "0.62.3"
 8293  10483   
 8294  10484   
[dependencies.aws-smithy-json]
 8295  10485   
path = "../aws-smithy-json"
 8296  10486   
version = "0.61.4"
 8297  10487   
 8298  10488   
[dependencies.aws-smithy-runtime]
 8299  10489   
path = "../aws-smithy-runtime"
 8300  10490   
features = ["client"]
 8301  10491   
version = "1.8.5"
 8302  10492   
 8303  10493   
[dependencies.aws-smithy-runtime-api]
 8304  10494   
path = "../aws-smithy-runtime-api"
 8305  10495   
features = ["client", "http-02x"]
 8306  10496   
version = "1.8.5"
 8307  10497   
 8308  10498   
[dependencies.aws-smithy-types]
 8309  10499   
path = "../aws-smithy-types"
 8310  10500   
version = "1.3.2"
 8311  10501   
 8312  10502   
[dependencies.aws-types]
 8313  10503   
path = "../aws-types"
 8314  10504   
version = "1.3.8"
 8315  10505   
 8316  10506   
[dependencies.bytes]
 8317  10507   
version = "1.4.0"
 8318  10508   
 8319  10509   
[dependencies.fastrand]
 8320  10510   
version = "2.0.0"
 8321  10511   
 8322  10512   
[dependencies.http]
 8323  10513   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 8324  10514   
index 0c56e4c..95731e3 100644
 8325         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
       10515  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 8326  10516   
@@ -1,61 +1,61 @@
 8327  10517   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8328  10518   
[package]
 8329  10519   
name = "aws-sdk-timestreamwrite"
 8330  10520   
version = "0.0.0-local"
 8331  10521   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8332  10522   
description = "AWS SDK for Amazon Timestream Write"
 8333  10523   
edition = "2021"
 8334  10524   
license = "Apache-2.0"
 8335  10525   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8336  10526   
rust-version = "1.86.0"
 8337  10527   
readme = "README.md"
 8338  10528   
[package.metadata.smithy]
 8339  10529   
codegen-version = "ci"
 8340  10530   
[package.metadata.docs.rs]
 8341  10531   
all-features = true
 8342  10532   
targets = ["x86_64-unknown-linux-gnu"]
 8343  10533   
[dependencies.aws-credential-types]
 8344  10534   
path = "../aws-credential-types"
 8345  10535   
version = "1.2.4"
 8346  10536   
 8347  10537   
[dependencies.aws-runtime]
 8348  10538   
path = "../aws-runtime"
 8349  10539   
version = "1.5.9"
 8350  10540   
 8351  10541   
[dependencies.aws-smithy-async]
 8352  10542   
path = "../aws-smithy-async"
 8353  10543   
version = "1.2.5"
 8354  10544   
 8355  10545   
[dependencies.aws-smithy-http]
 8356  10546   
path = "../aws-smithy-http"
 8357         -
version = "0.62.2"
       10547  +
version = "0.62.3"
 8358  10548   
 8359  10549   
[dependencies.aws-smithy-json]
 8360  10550   
path = "../aws-smithy-json"
 8361  10551   
version = "0.61.4"
 8362  10552   
 8363  10553   
[dependencies.aws-smithy-runtime]
 8364  10554   
path = "../aws-smithy-runtime"
 8365  10555   
features = ["client"]
 8366  10556   
version = "1.8.5"
 8367  10557   
 8368  10558   
[dependencies.aws-smithy-runtime-api]
 8369  10559   
path = "../aws-smithy-runtime-api"
 8370  10560   
features = ["client", "http-02x"]
 8371  10561   
version = "1.8.5"
 8372  10562   
 8373  10563   
[dependencies.aws-smithy-types]
 8374  10564   
path = "../aws-smithy-types"
 8375  10565   
version = "1.3.2"
 8376  10566   
 8377  10567   
[dependencies.aws-types]
 8378  10568   
path = "../aws-types"
 8379  10569   
version = "1.3.8"
 8380  10570   
 8381  10571   
[dependencies.bytes]
 8382  10572   
version = "1.4.0"
 8383  10573   
 8384  10574   
[dependencies.fastrand]
 8385  10575   
version = "2.0.0"
 8386  10576   
 8387  10577   
[dependencies.http]
 8388  10578   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 8389  10579   
index 5b35037..9fb220a 100644
 8390         -
-- a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
       10580  +
++ b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 8391  10581   
@@ -1,71 +1,71 @@
 8392  10582   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8393  10583   
[package]
 8394  10584   
name = "aws-sdk-transcribestreaming"
 8395  10585   
version = "0.0.0-local"
 8396  10586   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8397  10587   
description = "AWS SDK for Amazon Transcribe Streaming Service"
 8398  10588   
edition = "2021"
 8399  10589   
license = "Apache-2.0"
 8400  10590   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8401  10591   
rust-version = "1.86.0"
 8402  10592   
readme = "README.md"
 8403  10593   
[package.metadata.smithy]
 8404  10594   
codegen-version = "ci"
 8405  10595   
[package.metadata.docs.rs]
 8406  10596   
all-features = true
 8407  10597   
targets = ["x86_64-unknown-linux-gnu"]
 8408  10598   
[dependencies.aws-credential-types]
 8409  10599   
path = "../aws-credential-types"
 8410  10600   
version = "1.2.4"
 8411  10601   
 8412  10602   
[dependencies.aws-runtime]
 8413  10603   
path = "../aws-runtime"
 8414  10604   
features = ["event-stream"]
 8415  10605   
version = "1.5.9"
 8416  10606   
 8417  10607   
[dependencies.aws-sigv4]
 8418  10608   
path = "../aws-sigv4"
 8419         -
version = "1.3.3"
       10609  +
version = "1.3.4"
 8420  10610   
 8421  10611   
[dependencies.aws-smithy-async]
 8422  10612   
path = "../aws-smithy-async"
 8423  10613   
version = "1.2.5"
 8424  10614   
 8425  10615   
[dependencies.aws-smithy-eventstream]
 8426  10616   
path = "../aws-smithy-eventstream"
 8427  10617   
version = "0.60.10"
 8428  10618   
 8429  10619   
[dependencies.aws-smithy-http]
 8430  10620   
path = "../aws-smithy-http"
 8431  10621   
features = ["event-stream"]
 8432         -
version = "0.62.2"
       10622  +
version = "0.62.3"
 8433  10623   
 8434  10624   
[dependencies.aws-smithy-json]
 8435  10625   
path = "../aws-smithy-json"
 8436  10626   
version = "0.61.4"
 8437  10627   
 8438  10628   
[dependencies.aws-smithy-runtime]
 8439  10629   
path = "../aws-smithy-runtime"
 8440  10630   
features = ["client"]
 8441  10631   
version = "1.8.5"
 8442  10632