AWS SDK

AWS SDK

rev. 628eeeeeed390f5efdbfe607c18848c033debd3e (ignoring whitespace)

Files changed:

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

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

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

@@ -1,0 +8278,10533 @@
    1         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
    2      0   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sreq
    3      1   
deleted file mode 100644
    4      2   
index d739b01..0000000
    5         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sreq
           3  +
++ /dev/null
    6      4   
@@ -1,4 +0,0 @@
    7         -
GET / HTTP/1.1
    8         -
Host:example.amazonaws.com
    9         -
X-Amz-Date:20150830T123600Z
   10         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
   11      5   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/iam/iam.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/iam/iam.creq
   12      6   
deleted file mode 100644
   13      7   
index 1336241..0000000
   14         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/iam/iam.creq
           8  +
++ /dev/null
   15      9   
@@ -1,4 +0,0 @@
   16         -
AWS4-HMAC-SHA256
   17         -
20150830T123600Z
   18         -
20150830/us-east-1/iam/aws4_request
   19         -
f536975d06c0309214f805bb90ccff089219ecd68b2577efef23edd43b7e1a59
   20     10   
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
   21     11   
deleted file mode 100644
   22     12   
index 551c027..0000000
   23         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.authz
          13  +
++ /dev/null
   24     14   
@@ -1 +0,0 @@
   25         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
   26     15   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-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
   27     16   
deleted file mode 100644
   28     17   
index cbdebe2..0000000
   29         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sreq
          18  +
++ /dev/null
   30     19   
@@ -1,4 +0,0 @@
   31         -
GET /example1/example2/../.. HTTP/1.1
   32         -
Host:example.amazonaws.com
   33         -
X-Amz-Date:20150830T123600Z
   34         -
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
   35     20   
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
   36     21   
deleted file mode 100644
   37     22   
index 551c027..0000000
   38         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.authz
          23  +
++ /dev/null
   39     24   
@@ -1 +0,0 @@
   40         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
   41     25   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-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
   42     26   
deleted file mode 100644
   43     27   
index 4f59e7d..0000000
   44         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sreq
          28  +
++ /dev/null
   45     29   
@@ -1,4 +0,0 @@
   46         -
GET /example/.. HTTP/1.1
   47         -
Host:example.amazonaws.com
   48         -
X-Amz-Date:20150830T123600Z
   49         -
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
   50     30   
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
   51     31   
deleted file mode 100644
   52     32   
index 551c027..0000000
   53         -
-- 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
          33  +
++ /dev/null
   54     34   
@@ -1 +0,0 @@
   55         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
   56     35   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-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
   57     36   
deleted file mode 100644
   58     37   
index 23a2b41..0000000
   59         -
-- 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
          38  +
++ /dev/null
   60     39   
@@ -1,4 +0,0 @@
   61         -
GET /./ HTTP/1.1
   62         -
Host:example.amazonaws.com
   63         -
X-Amz-Date:20150830T123600Z
   64         -
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
   65     40   
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
   66     41   
deleted file mode 100644
   67     42   
index b76ca1e..0000000
   68         -
-- 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
          43  +
++ /dev/null
   69     44   
@@ -1 +0,0 @@
   70         -
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
   71     45   
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
   72     46   
deleted file mode 100644
   73     47   
index 8096609..0000000
   74         -
-- 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
          48  +
++ /dev/null
   75     49   
@@ -1,4 +0,0 @@
   76         -
GET /./example HTTP/1.1
   77         -
Host:example.amazonaws.com
   78         -
X-Amz-Date:20150830T123600Z
   79         -
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
   80     50   
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
   81     51   
deleted file mode 100644
   82     52   
index 551c027..0000000
   83         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.authz
          53  +
++ /dev/null
   84     54   
@@ -1 +0,0 @@
   85         -
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
   86     55   
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
   87     56   
deleted file mode 100644
   88     57   
index cde31b4..0000000
   89         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sreq
          58  +
++ /dev/null
   90     59   
@@ -1,4 +0,0 @@
   91         -
GET // HTTP/1.1
   92         -
Host:example.amazonaws.com
   93         -
X-Amz-Date:20150830T123600Z
   94         -
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
   95     60   
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
   96     61   
deleted file mode 100644
   97     62   
index 307c105..0000000
   98         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.authz
          63  +
++ /dev/null
   99     64   
@@ -1 +0,0 @@
  100         -
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
  101     65   
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
  102     66   
deleted file mode 100644
  103     67   
index c84a80d..0000000
  104         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sreq
          68  +
++ /dev/null
  105     69   
@@ -1,4 +0,0 @@
  106         -
GET //example// HTTP/1.1
  107         -
Host:example.amazonaws.com
  108         -
X-Amz-Date:20150830T123600Z
  109         -
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
  110     70   
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
  111     71   
deleted file mode 100644
  112     72   
index 832d8a5..0000000
  113         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.authz
          73  +
++ /dev/null
  114     74   
@@ -1 +0,0 @@
  115         -
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
  116     75   
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
  117     76   
deleted file mode 100644
  118     77   
index eefa20c..0000000
  119         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sreq
          78  +
++ /dev/null
  120     79   
@@ -1,4 +0,0 @@
  121         -
GET /example space/ HTTP/1.1
  122         -
Host:example.amazonaws.com
  123         -
X-Amz-Date:20150830T123600Z
  124         -
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
  125     80   
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
  126     81   
deleted file mode 100644
  127     82   
index c2fcb27..0000000
  128         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/normalize-path.txt
          83  +
++ /dev/null
  129     84   
@@ -1,3 +0,0 @@
  130         -
A note about signing requests to Amazon S3:
  131         -

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

  199         -
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).
  200         -

  201         -
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.
  202         -

  203         -
The test suite has 2 examples:
  204         -

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

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

  209         -
The test suite uses this example value for X-Amz-Security-Token:
  210         -

  211         -
AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
              \
 No newline at end of file
  212    130   
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
  213    131   
deleted file mode 100644
  214    132   
index 44280cd..0000000
  215         -
-- 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
         133  +
++ /dev/null
  216    134   
@@ -1 +0,0 @@
  217         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
  218    135   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-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
  219    136   
deleted file mode 100644
  220    137   
index 82af150..0000000
  221         -
-- 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
         138  +
++ /dev/null
  222    139   
@@ -1,4 +0,0 @@
  223         -
POST /?Param1=value1 HTTP/1.1
  224         -
Host:example.amazonaws.com
  225         -
X-Amz-Date:20150830T123600Z
  226         -
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
  227    140   
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
  228    141   
deleted file mode 100644
  229    142   
index 44280cd..0000000
  230         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.authz
         143  +
++ /dev/null
  231    144   
@@ -1 +0,0 @@
  232         -
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
  233    145   
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
  234    146   
deleted file mode 100644
  235    147   
index 82af150..0000000
  236         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sreq
         148  +
++ /dev/null
  237    149   
@@ -1,4 +0,0 @@
  238         -
POST /?Param1=value1 HTTP/1.1
  239         -
Host:example.amazonaws.com
  240         -
X-Amz-Date:20150830T123600Z
  241         -
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
  242    150   
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
  243    151   
deleted file mode 100644
  244    152   
index 89e572e..0000000
  245         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz
         153  +
++ /dev/null
  246    154   
@@ -1 +0,0 @@
  247         -
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
  248    155   
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
  249    156   
deleted file mode 100644
  250    157   
index a5ada0d..0000000
  251         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sreq
         158  +
++ /dev/null
  252    159   
@@ -1,4 +0,0 @@
  253         -
POST / HTTP/1.1
  254         -
Host:example.amazonaws.com
  255         -
X-Amz-Date:20150830T123600Z
  256         -
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
  257    160   
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
  258    161   
deleted file mode 100644
  259    162   
index df90ca3..0000000
  260         -
-- 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
         163  +
++ /dev/null
  261    164   
@@ -1 +0,0 @@
  262         -
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
  263    165   
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
  264    166   
deleted file mode 100644
  265    167   
index 457b0d5..0000000
  266         -
-- 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
         168  +
++ /dev/null
  267    169   
@@ -1,9 +0,0 @@
  268         -
POST
  269         -
/
  270         -
Param1=value1
  271         -
content-type:application/x-www-form-urlencoded; charset=utf-8
  272         -
host:example.amazonaws.com
  273         -
x-amz-date:20150830T123600Z
  274         -
  275         -
content-type;host;x-amz-date
  276         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
  277    170   
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
  278    171   
deleted file mode 100644
  279    172   
index b8ecb89..0000000
  280         -
-- 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
         173  +
++ /dev/null
  281    174   
@@ -1,7 +0,0 @@
  282         -
POST / HTTP/1.1
  283         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
  284         -
Host:example.amazonaws.com
  285         -
X-Amz-Date:20150830T123600Z
  286         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=ad1ac0c5fa1793b9b9d23894903b9ce84044d014533a633091e12c840473b393
  287         -
  288         -
Param1=value1
              \
 No newline at end of file
  289    175   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.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
  290    176   
deleted file mode 100644
  291    177   
index 79077d2..0000000
  292         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.authz
         178  +
++ /dev/null
  293    179   
@@ -1 +0,0 @@
  294         -
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
  295    180   
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
  296    181   
deleted file mode 100644
  297    182   
index 7852617..0000000
  298         -
-- 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
         183  +
++ /dev/null
  299    184   
@@ -1,4 +0,0 @@
  300         -
POST / HTTP/1.1
  301         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
  302         -
Host:example.amazonaws.com
  303         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
  304    185   
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
  305    186   
deleted file mode 100644
  306    187   
index 3e2e571..0000000
  307         -
-- 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
         188  +
++ /dev/null
  308    189   
@@ -1,4 +0,0 @@
  309         -
POST / HTTP/1.1
  310         -
Host:example.amazonaws.com
  311         -
X-Amz-Date:20150830T123600Z
  312         -
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
  313    190   
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
  314    191   
deleted file mode 100644
  315    192   
index 89ceae8..0000000
  316         -
-- 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
         193  +
++ /dev/null
  317    194   
@@ -1,4 +0,0 @@
  318         -
AWS4-HMAC-SHA256
  319         -
20150830T123600Z
  320         -
20150830/us-east-1/service/aws4_request
  321         -
6a42edc18395dd67cc71407d4307ff29ab1646b08c1a0107edb319e08e2bc584
              \
 No newline at end of file
  322    195   
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
  323    196   
deleted file mode 100755
  324    197   
index d645695..0000000
  325         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/LICENSE
         198  +
++ /dev/null
  326    199   
@@ -1,202 +0,0 @@
  327         -
  328         -
                                 Apache License
  329         -
                           Version 2.0, January 2004
  330         -
                        http://www.apache.org/licenses/
  331         -
  332         -
   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
  333         -
  334         -
   1. Definitions.
  335         -
  336         -
      "License" shall mean the terms and conditions for use, reproduction,
  337         -
      and distribution as defined by Sections 1 through 9 of this document.
  338         -
  339         -
      "Licensor" shall mean the copyright owner or entity authorized by
  340         -
      the copyright owner that is granting the License.
  341         -
  342         -
      "Legal Entity" shall mean the union of the acting entity and all
  343         -
      other entities that control, are controlled by, or are under common
  344         -
      control with that entity. For the purposes of this definition,
  345         -
      "control" means (i) the power, direct or indirect, to cause the
  346         -
      direction or management of such entity, whether by contract or
  347         -
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
  348         -
      outstanding shares, or (iii) beneficial ownership of such entity.
  349         -
  350         -
      "You" (or "Your") shall mean an individual or Legal Entity
  351         -
      exercising permissions granted by this License.
  352         -
  353         -
      "Source" form shall mean the preferred form for making modifications,
  354         -
      including but not limited to software source code, documentation
  355         -
      source, and configuration files.
  356         -
  357         -
      "Object" form shall mean any form resulting from mechanical
  358         -
      transformation or translation of a Source form, including but
  359         -
      not limited to compiled object code, generated documentation,
  360         -
      and conversions to other media types.
  361         -
  362         -
      "Work" shall mean the work of authorship, whether in Source or
  363         -
      Object form, made available under the License, as indicated by a
  364         -
      copyright notice that is included in or attached to the work
  365         -
      (an example is provided in the Appendix below).
  366         -
  367         -
      "Derivative Works" shall mean any work, whether in Source or Object
  368         -
      form, that is based on (or derived from) the Work and for which the
  369         -
      editorial revisions, annotations, elaborations, or other modifications
  370         -
      represent, as a whole, an original work of authorship. For the purposes
  371         -
      of this License, Derivative Works shall not include works that remain
  372         -
      separable from, or merely link (or bind by name) to the interfaces of,
  373         -
      the Work and Derivative Works thereof.
  374         -
  375         -
      "Contribution" shall mean any work of authorship, including
  376         -
      the original version of the Work and any modifications or additions
  377         -
      to that Work or Derivative Works thereof, that is intentionally
  378         -
      submitted to Licensor for inclusion in the Work by the copyright owner
  379         -
      or by an individual or Legal Entity authorized to submit on behalf of
  380         -
      the copyright owner. For the purposes of this definition, "submitted"
  381         -
      means any form of electronic, verbal, or written communication sent
  382         -
      to the Licensor or its representatives, including but not limited to
  383         -
      communication on electronic mailing lists, source code control systems,
  384         -
      and issue tracking systems that are managed by, or on behalf of, the
  385         -
      Licensor for the purpose of discussing and improving the Work, but
  386         -
      excluding communication that is conspicuously marked or otherwise
  387         -
      designated in writing by the copyright owner as "Not a Contribution."
  388         -
  389         -
      "Contributor" shall mean Licensor and any individual or Legal Entity
  390         -
      on behalf of whom a Contribution has been received by Licensor and
  391         -
      subsequently incorporated within the Work.
  392         -
  393         -
   2. Grant of Copyright License. Subject to the terms and conditions of
  394         -
      this License, each Contributor hereby grants to You a perpetual,
  395         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  396         -
      copyright license to reproduce, prepare Derivative Works of,
  397         -
      publicly display, publicly perform, sublicense, and distribute the
  398         -
      Work and such Derivative Works in Source or Object form.
  399         -
  400         -
   3. Grant of Patent License. Subject to the terms and conditions of
  401         -
      this License, each Contributor hereby grants to You a perpetual,
  402         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  403         -
      (except as stated in this section) patent license to make, have made,
  404         -
      use, offer to sell, sell, import, and otherwise transfer the Work,
  405         -
      where such license applies only to those patent claims licensable
  406         -
      by such Contributor that are necessarily infringed by their
  407         -
      Contribution(s) alone or by combination of their Contribution(s)
  408         -
      with the Work to which such Contribution(s) was submitted. If You
  409         -
      institute patent litigation against any entity (including a
  410         -
      cross-claim or counterclaim in a lawsuit) alleging that the Work
  411         -
      or a Contribution incorporated within the Work constitutes direct
  412         -
      or contributory patent infringement, then any patent licenses
  413         -
      granted to You under this License for that Work shall terminate
  414         -
      as of the date such litigation is filed.
  415         -
  416         -
   4. Redistribution. You may reproduce and distribute copies of the
  417         -
      Work or Derivative Works thereof in any medium, with or without
  418         -
      modifications, and in Source or Object form, provided that You
  419         -
      meet the following conditions:
  420         -
  421         -
      (a) You must give any other recipients of the Work or
  422         -
          Derivative Works a copy of this License; and
  423         -
  424         -
      (b) You must cause any modified files to carry prominent notices
  425         -
          stating that You changed the files; and
  426         -
  427         -
      (c) You must retain, in the Source form of any Derivative Works
  428         -
          that You distribute, all copyright, patent, trademark, and
  429         -
          attribution notices from the Source form of the Work,
  430         -
          excluding those notices that do not pertain to any part of
  431         -
          the Derivative Works; and
  432         -
  433         -
      (d) If the Work includes a "NOTICE" text file as part of its
  434         -
          distribution, then any Derivative Works that You distribute must
  435         -
          include a readable copy of the attribution notices contained
  436         -
          within such NOTICE file, excluding those notices that do not
  437         -
          pertain to any part of the Derivative Works, in at least one
  438         -
          of the following places: within a NOTICE text file distributed
  439         -
          as part of the Derivative Works; within the Source form or
  440         -
          documentation, if provided along with the Derivative Works; or,
  441         -
          within a display generated by the Derivative Works, if and
  442         -
          wherever such third-party notices normally appear. The contents
  443         -
          of the NOTICE file are for informational purposes only and
  444         -
          do not modify the License. You may add Your own attribution
  445         -
          notices within Derivative Works that You distribute, alongside
  446         -
          or as an addendum to the NOTICE text from the Work, provided
  447         -
          that such additional attribution notices cannot be construed
  448         -
          as modifying the License.
  449         -
  450         -
      You may add Your own copyright statement to Your modifications and
  451         -
      may provide additional or different license terms and conditions
  452         -
      for use, reproduction, or distribution of Your modifications, or
  453         -
      for any such Derivative Works as a whole, provided Your use,
  454         -
      reproduction, and distribution of the Work otherwise complies with
  455         -
      the conditions stated in this License.
  456         -
  457         -
   5. Submission of Contributions. Unless You explicitly state otherwise,
  458         -
      any Contribution intentionally submitted for inclusion in the Work
  459         -
      by You to the Licensor shall be under the terms and conditions of
  460         -
      this License, without any additional terms or conditions.
  461         -
      Notwithstanding the above, nothing herein shall supersede or modify
  462         -
      the terms of any separate license agreement you may have executed
  463         -
      with Licensor regarding such Contributions.
  464         -
  465         -
   6. Trademarks. This License does not grant permission to use the trade
  466         -
      names, trademarks, service marks, or product names of the Licensor,
  467         -
      except as required for reasonable and customary use in describing the
  468         -
      origin of the Work and reproducing the content of the NOTICE file.
  469         -
  470         -
   7. Disclaimer of Warranty. Unless required by applicable law or
  471         -
      agreed to in writing, Licensor provides the Work (and each
  472         -
      Contributor provides its Contributions) on an "AS IS" BASIS,
  473         -
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  474         -
      implied, including, without limitation, any warranties or conditions
  475         -
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
  476         -
      PARTICULAR PURPOSE. You are solely responsible for determining the
  477         -
      appropriateness of using or redistributing the Work and assume any
  478         -
      risks associated with Your exercise of permissions under this License.
  479         -
  480         -
   8. Limitation of Liability. In no event and under no legal theory,
  481         -
      whether in tort (including negligence), contract, or otherwise,
  482         -
      unless required by applicable law (such as deliberate and grossly
  483         -
      negligent acts) or agreed to in writing, shall any Contributor be
  484         -
      liable to You for damages, including any direct, indirect, special,
  485         -
      incidental, or consequential damages of any character arising as a
  486         -
      result of this License or out of the use or inability to use the
  487         -
      Work (including but not limited to damages for loss of goodwill,
  488         -
      work stoppage, computer failure or malfunction, or any and all
  489         -
      other commercial damages or losses), even if such Contributor
  490         -
      has been advised of the possibility of such damages.
  491         -
  492         -
   9. Accepting Warranty or Additional Liability. While redistributing
  493         -
      the Work or Derivative Works thereof, You may choose to offer,
  494         -
      and charge a fee for, acceptance of support, warranty, indemnity,
  495         -
      or other liability obligations and/or rights consistent with this
  496         -
      License. However, in accepting such obligations, You may act only
  497         -
      on Your own behalf and on Your sole responsibility, not on behalf
  498         -
      of any other Contributor, and only if You agree to indemnify,
  499         -
      defend, and hold each Contributor harmless for any liability
  500         -
      incurred by, or claims asserted against, such Contributor by reason
  501         -
      of your accepting any such warranty or additional liability.
  502         -
  503         -
   END OF TERMS AND CONDITIONS
  504         -
  505         -
   APPENDIX: How to apply the Apache License to your work.
  506         -
  507         -
      To apply the Apache License to your work, attach the following
  508         -
      boilerplate notice, with the fields enclosed by brackets "[]"
  509         -
      replaced with your own identifying information. (Don't include
  510         -
      the brackets!)  The text should be enclosed in the appropriate
  511         -
      comment syntax for the file format. We also recommend that a
  512         -
      file or class name and description of purpose be included on the
  513         -
      same "printed page" as the copyright notice for easier
  514         -
      identification within third-party archives.
  515         -
  516         -
   Copyright [yyyy] [name of copyright owner]
  517         -
  518         -
   Licensed under the Apache License, Version 2.0 (the "License");
  519         -
   you may not use this file except in compliance with the License.
  520         -
   You may obtain a copy of the License at
  521         -
  522         -
       http://www.apache.org/licenses/LICENSE-2.0
  523         -
  524         -
   Unless required by applicable law or agreed to in writing, software
  525         -
   distributed under the License is distributed on an "AS IS" BASIS,
  526         -
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  527         -
   See the License for the specific language governing permissions and
  528         -
   limitations under the License.
  529    200   
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
  530    201   
deleted file mode 100755
  531    202   
index d85f69e..0000000
  532         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/NOTICE
         203  +
++ /dev/null
  533    204   
@@ -1,2 +0,0 @@
  534         -
AWS Signature Version 4a Test Suite
  535         -
Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
  536    205   
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
  537    206   
deleted file mode 100644
  538    207   
index c716622..0000000
  539         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/README.md
         208  +
++ /dev/null
  540    209   
@@ -1,24 +0,0 @@
  541         -
Where did the files in this directory come from?
  542         -
================================================
  543         -
  544         -
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.
  545         -
  546         -
Signature Version 4A Test Suite
  547         -
------------------------------
  548         -
  549         -
To assist you in the development of an AWS client that supports Signature Version 4A, you can use the
  550         -
files in the test suite to ensure your code is performing each step of the signing process correctly.
  551         -
  552         -
Each test group contains several files that you can use to validate most of the tasks described in
  553         -
Signature Version 4A Signing Process. The following list describes the contents of each file.
  554         -
  555         -
- context.json - Credentials and signer options to use when signing test requests
  556         -
- request.txt - The web request to be signed.
  557         -
- header-canonical-request.txt - The resulting canonical request in header-signature mode.
  558         -
- header-string-to-sign.txt - The resulting string to sign in header-signature mode.
  559         -
- query-canonical-request.txt - The resulting canonical request in query-signature mode.
  560         -
- query-string-to-sign.txt - The resulting string to sign in header-query mode.
  561         -
  562         -
Sigv4A signature generation isn't deterministic, so generated signatures can't be tested against known good ones.
  563         -
Instead, tests generate a signature, derive a verification key from the signing key, and verify the signature and
  564         -
the string to sign. This mirrors what AWS services do when verifying Sigv4A-signed requests.
  565    210   
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
  566    211   
deleted file mode 100644
  567    212   
index 45771c7..0000000
  568         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/context.json
         213  +
++ /dev/null
  569    214   
@@ -1,12 +0,0 @@
  570         -
{
  571         -
    "credentials": {
  572         -
        "access_key_id": "AKIDEXAMPLE",
  573         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  574         -
    },
  575         -
    "expiration_in_seconds": 3600,
  576         -
    "normalize": true,
  577         -
    "region": "us-east-1",
  578         -
    "service": "service",
  579         -
    "sign_body": false,
  580         -
    "timestamp": "2015-08-30T12:36:00Z"
  581         -
}
  582    215   
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
  583    216   
deleted file mode 100644
  584    217   
index 45771c7..0000000
  585         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/context.json
         218  +
++ /dev/null
  586    219   
@@ -1,12 +0,0 @@
  587         -
{
  588         -
    "credentials": {
  589         -
        "access_key_id": "AKIDEXAMPLE",
  590         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  591         -
    },
  592         -
    "expiration_in_seconds": 3600,
  593         -
    "normalize": true,
  594         -
    "region": "us-east-1",
  595         -
    "service": "service",
  596         -
    "sign_body": false,
  597         -
    "timestamp": "2015-08-30T12:36:00Z"
  598         -
}
  599    220   
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
  600    221   
deleted file mode 100644
  601    222   
index 45771c7..0000000
  602         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/context.json
         223  +
++ /dev/null
  603    224   
@@ -1,12 +0,0 @@
  604         -
{
  605         -
    "credentials": {
  606         -
        "access_key_id": "AKIDEXAMPLE",
  607         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  608         -
    },
  609         -
    "expiration_in_seconds": 3600,
  610         -
    "normalize": true,
  611         -
    "region": "us-east-1",
  612         -
    "service": "service",
  613         -
    "sign_body": false,
  614         -
    "timestamp": "2015-08-30T12:36:00Z"
  615         -
}
  616    225   
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
  617    226   
deleted file mode 100644
  618    227   
index 45771c7..0000000
  619         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/context.json
         228  +
++ /dev/null
  620    229   
@@ -1,12 +0,0 @@
  621         -
{
  622         -
    "credentials": {
  623         -
        "access_key_id": "AKIDEXAMPLE",
  624         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  625         -
    },
  626         -
    "expiration_in_seconds": 3600,
  627         -
    "normalize": true,
  628         -
    "region": "us-east-1",
  629         -
    "service": "service",
  630         -
    "sign_body": false,
  631         -
    "timestamp": "2015-08-30T12:36:00Z"
  632         -
}
  633    230   
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
  634    231   
deleted file mode 100644
  635    232   
index afe367b..0000000
  636         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/context.json
         233  +
++ /dev/null
  637    234   
@@ -1,12 +0,0 @@
  638         -
{
  639         -
    "credentials": {
  640         -
        "access_key_id": "AKIDEXAMPLE",
  641         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  642         -
    },
  643         -
    "expiration_in_seconds": 3600,
  644         -
    "normalize": false,
  645         -
    "region": "us-east-1",
  646         -
    "service": "service",
  647         -
    "sign_body": false,
  648         -
    "timestamp": "2015-08-30T12:36:00Z"
  649         -
}
  650    235   
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
  651    236   
deleted file mode 100644
  652    237   
index 45771c7..0000000
  653         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/context.json
         238  +
++ /dev/null
  654    239   
@@ -1,12 +0,0 @@
  655         -
{
  656         -
    "credentials": {
  657         -
        "access_key_id": "AKIDEXAMPLE",
  658         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  659         -
    },
  660         -
    "expiration_in_seconds": 3600,
  661         -
    "normalize": true,
  662         -
    "region": "us-east-1",
  663         -
    "service": "service",
  664         -
    "sign_body": false,
  665         -
    "timestamp": "2015-08-30T12:36:00Z"
  666         -
}
  667    240   
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
  668    241   
deleted file mode 100644
  669    242   
index afe367b..0000000
  670         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/context.json
         243  +
++ /dev/null
  671    244   
@@ -1,12 +0,0 @@
  672         -
{
  673         -
    "credentials": {
  674         -
        "access_key_id": "AKIDEXAMPLE",
  675         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  676         -
    },
  677         -
    "expiration_in_seconds": 3600,
  678         -
    "normalize": false,
  679         -
    "region": "us-east-1",
  680         -
    "service": "service",
  681         -
    "sign_body": false,
  682         -
    "timestamp": "2015-08-30T12:36:00Z"
  683         -
}
  684    245   
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
  685    246   
deleted file mode 100644
  686    247   
index 45771c7..0000000
  687         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/context.json
         248  +
++ /dev/null
  688    249   
@@ -1,12 +0,0 @@
  689         -
{
  690         -
    "credentials": {
  691         -
        "access_key_id": "AKIDEXAMPLE",
  692         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  693         -
    },
  694         -
    "expiration_in_seconds": 3600,
  695         -
    "normalize": true,
  696         -
    "region": "us-east-1",
  697         -
    "service": "service",
  698         -
    "sign_body": false,
  699         -
    "timestamp": "2015-08-30T12:36:00Z"
  700         -
}
  701    250   
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
  702    251   
deleted file mode 100644
  703    252   
index 45771c7..0000000
  704         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/context.json
         253  +
++ /dev/null
  705    254   
@@ -1,12 +0,0 @@
  706         -
{
  707         -
    "credentials": {
  708         -
        "access_key_id": "AKIDEXAMPLE",
  709         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  710         -
    },
  711         -
    "expiration_in_seconds": 3600,
  712         -
    "normalize": true,
  713         -
    "region": "us-east-1",
  714         -
    "service": "service",
  715         -
    "sign_body": false,
  716         -
    "timestamp": "2015-08-30T12:36:00Z"
  717         -
}
  718    255   
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
  719    256   
deleted file mode 100644
  720    257   
index 45771c7..0000000
  721         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/context.json
         258  +
++ /dev/null
  722    259   
@@ -1,12 +0,0 @@
  723         -
{
  724         -
    "credentials": {
  725         -
        "access_key_id": "AKIDEXAMPLE",
  726         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  727         -
    },
  728         -
    "expiration_in_seconds": 3600,
  729         -
    "normalize": true,
  730         -
    "region": "us-east-1",
  731         -
    "service": "service",
  732         -
    "sign_body": false,
  733         -
    "timestamp": "2015-08-30T12:36:00Z"
  734         -
}
  735    260   
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
  736    261   
deleted file mode 100644
  737    262   
index 45771c7..0000000
  738         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/context.json
         263  +
++ /dev/null
  739    264   
@@ -1,12 +0,0 @@
  740         -
{
  741         -
    "credentials": {
  742         -
        "access_key_id": "AKIDEXAMPLE",
  743         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  744         -
    },
  745         -
    "expiration_in_seconds": 3600,
  746         -
    "normalize": true,
  747         -
    "region": "us-east-1",
  748         -
    "service": "service",
  749         -
    "sign_body": false,
  750         -
    "timestamp": "2015-08-30T12:36:00Z"
  751         -
}
  752    265   
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
  753    266   
deleted file mode 100644
  754    267   
index 45771c7..0000000
  755         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/context.json
         268  +
++ /dev/null
  756    269   
@@ -1,12 +0,0 @@
  757         -
{
  758         -
    "credentials": {
  759         -
        "access_key_id": "AKIDEXAMPLE",
  760         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  761         -
    },
  762         -
    "expiration_in_seconds": 3600,
  763         -
    "normalize": true,
  764         -
    "region": "us-east-1",
  765         -
    "service": "service",
  766         -
    "sign_body": false,
  767         -
    "timestamp": "2015-08-30T12:36:00Z"
  768         -
}
  769    270   
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
  770    271   
deleted file mode 100644
  771    272   
index 47e7128..0000000
  772         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-canonical-request.txt
         273  +
++ /dev/null
  773    274   
@@ -1,9 +0,0 @@
  774         -
GET
  775         -
/
  776         -
  777         -
host:example.amazonaws.com
  778         -
x-amz-date:20150830T123600Z
  779         -
x-amz-region-set:us-east-1
  780         -
  781         -
host;x-amz-date;x-amz-region-set
  782         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  783    275   
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
  784    276   
deleted file mode 100644
  785    277   
index 95d7219..0000000
  786         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-string-to-sign.txt
         278  +
++ /dev/null
  787    279   
@@ -1,4 +0,0 @@
  788         -
AWS4-ECDSA-P256-SHA256
  789         -
20150830T123600Z
  790         -
20150830/service/aws4_request
  791         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  792    280   
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
  793    281   
deleted file mode 100644
  794    282   
index a34ea26..0000000
  795         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-canonical-request.txt
         283  +
++ /dev/null
  796    284   
@@ -1,7 +0,0 @@
  797         -
GET
  798         -
/
  799         -
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
  800         -
host:example.amazonaws.com
  801         -
  802         -
host
  803         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  804    285   
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
  805    286   
deleted file mode 100644
  806    287   
index 48f855c..0000000
  807         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-string-to-sign.txt
         288  +
++ /dev/null
  808    289   
@@ -1,4 +0,0 @@
  809         -
AWS4-ECDSA-P256-SHA256
  810         -
20150830T123600Z
  811         -
20150830/service/aws4_request
  812         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  813    290   
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
  814    291   
deleted file mode 100644
  815    292   
index 45771c7..0000000
  816         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/context.json
         293  +
++ /dev/null
  817    294   
@@ -1,12 +0,0 @@
  818         -
{
  819         -
    "credentials": {
  820         -
        "access_key_id": "AKIDEXAMPLE",
  821         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  822         -
    },
  823         -
    "expiration_in_seconds": 3600,
  824         -
    "normalize": true,
  825         -
    "region": "us-east-1",
  826         -
    "service": "service",
  827         -
    "sign_body": false,
  828         -
    "timestamp": "2015-08-30T12:36:00Z"
  829         -
}
  830    295   
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
  831    296   
deleted file mode 100644
  832    297   
index 47e7128..0000000
  833         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-canonical-request.txt
         298  +
++ /dev/null
  834    299   
@@ -1,9 +0,0 @@
  835         -
GET
  836         -
/
  837         -
  838         -
host:example.amazonaws.com
  839         -
x-amz-date:20150830T123600Z
  840         -
x-amz-region-set:us-east-1
  841         -
  842         -
host;x-amz-date;x-amz-region-set
  843         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  844    300   
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
  845    301   
deleted file mode 100644
  846    302   
index 95d7219..0000000
  847         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-string-to-sign.txt
         303  +
++ /dev/null
  848    304   
@@ -1,4 +0,0 @@
  849         -
AWS4-ECDSA-P256-SHA256
  850         -
20150830T123600Z
  851         -
20150830/service/aws4_request
  852         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  853    305   
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
  854    306   
deleted file mode 100644
  855    307   
index a34ea26..0000000
  856         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-canonical-request.txt
         308  +
++ /dev/null
  857    309   
@@ -1,7 +0,0 @@
  858         -
GET
  859         -
/
  860         -
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
  861         -
host:example.amazonaws.com
  862         -
  863         -
host
  864         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  865    310   
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
  866    311   
deleted file mode 100644
  867    312   
index 48f855c..0000000
  868         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-string-to-sign.txt
         313  +
++ /dev/null
  869    314   
@@ -1,4 +0,0 @@
  870         -
AWS4-ECDSA-P256-SHA256
  871         -
20150830T123600Z
  872         -
20150830/service/aws4_request
  873         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  874    315   
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
  875    316   
deleted file mode 100644
  876    317   
index 45771c7..0000000
  877         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/context.json
         318  +
++ /dev/null
  878    319   
@@ -1,12 +0,0 @@
  879         -
{
  880         -
    "credentials": {
  881         -
        "access_key_id": "AKIDEXAMPLE",
  882         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  883         -
    },
  884         -
    "expiration_in_seconds": 3600,
  885         -
    "normalize": true,
  886         -
    "region": "us-east-1",
  887         -
    "service": "service",
  888         -
    "sign_body": false,
  889         -
    "timestamp": "2015-08-30T12:36:00Z"
  890         -
}
  891    320   
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
  892    321   
deleted file mode 100644
  893    322   
index 45771c7..0000000
  894         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/context.json
         323  +
++ /dev/null
  895    324   
@@ -1,12 +0,0 @@
  896         -
{
  897         -
    "credentials": {
  898         -
        "access_key_id": "AKIDEXAMPLE",
  899         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  900         -
    },
  901         -
    "expiration_in_seconds": 3600,
  902         -
    "normalize": true,
  903         -
    "region": "us-east-1",
  904         -
    "service": "service",
  905         -
    "sign_body": false,
  906         -
    "timestamp": "2015-08-30T12:36:00Z"
  907         -
}
  908    325   
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
  909    326   
deleted file mode 100644
  910    327   
index 45771c7..0000000
  911         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/context.json
         328  +
++ /dev/null
  912    329   
@@ -1,12 +0,0 @@
  913         -
{
  914         -
    "credentials": {
  915         -
        "access_key_id": "AKIDEXAMPLE",
  916         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  917         -
    },
  918         -
    "expiration_in_seconds": 3600,
  919         -
    "normalize": true,
  920         -
    "region": "us-east-1",
  921         -
    "service": "service",
  922         -
    "sign_body": false,
  923         -
    "timestamp": "2015-08-30T12:36:00Z"
  924         -
}
  925    330   
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
  926    331   
deleted file mode 100644
  927    332   
index 45771c7..0000000
  928         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/context.json
         333  +
++ /dev/null
  929    334   
@@ -1,12 +0,0 @@
  930         -
{
  931         -
    "credentials": {
  932         -
        "access_key_id": "AKIDEXAMPLE",
  933         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  934         -
    },
  935         -
    "expiration_in_seconds": 3600,
  936         -
    "normalize": true,
  937         -
    "region": "us-east-1",
  938         -
    "service": "service",
  939         -
    "sign_body": false,
  940         -
    "timestamp": "2015-08-30T12:36:00Z"
  941         -
}
  942    335   
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
  943    336   
deleted file mode 100644
  944    337   
index 45771c7..0000000
  945         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/context.json
         338  +
++ /dev/null
  946    339   
@@ -1,12 +0,0 @@
  947         -
{
  948         -
    "credentials": {
  949         -
        "access_key_id": "AKIDEXAMPLE",
  950         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  951         -
    },
  952         -
    "expiration_in_seconds": 3600,
  953         -
    "normalize": true,
  954         -
    "region": "us-east-1",
  955         -
    "service": "service",
  956         -
    "sign_body": false,
  957         -
    "timestamp": "2015-08-30T12:36:00Z"
  958         -
}
  959    340   
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
  960    341   
deleted file mode 100644
  961    342   
index 45771c7..0000000
  962         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/context.json
         343  +
++ /dev/null
  963    344   
@@ -1,12 +0,0 @@
  964         -
{
  965         -
    "credentials": {
  966         -
        "access_key_id": "AKIDEXAMPLE",
  967         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  968         -
    },
  969         -
    "expiration_in_seconds": 3600,
  970         -
    "normalize": true,
  971         -
    "region": "us-east-1",
  972         -
    "service": "service",
  973         -
    "sign_body": false,
  974         -
    "timestamp": "2015-08-30T12:36:00Z"
  975         -
}
  976    345   
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
  977    346   
deleted file mode 100644
  978    347   
index b6fdecf..0000000
  979         -
-- 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
         348  +
++ /dev/null
  980    349   
@@ -1,4 +0,0 @@
  981         -
AWS4-ECDSA-P256-SHA256
  982         -
20150830T123600Z
  983         -
20150830/service/aws4_request
  984         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
  985    350   
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
  986    351   
deleted file mode 100644
  987    352   
index a300bea..0000000
  988         -
-- 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
         353  +
++ /dev/null
  989    354   
@@ -1,4 +0,0 @@
  990         -
AWS4-ECDSA-P256-SHA256
  991         -
20150830T123600Z
  992         -
20150830/service/aws4_request
  993         -
ab426c74406d082ad98929df8969624e6ed5cb7f4e8501fbbe7d8c20e9c3b417
  994    355   
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
  995    356   
deleted file mode 100644
  996    357   
index b6fdecf..0000000
  997         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-string-to-sign.txt
         358  +
++ /dev/null
  998    359   
@@ -1,4 +0,0 @@
  999         -
AWS4-ECDSA-P256-SHA256
 1000         -
20150830T123600Z
 1001         -
20150830/service/aws4_request
 1002         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
 1003    360   
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
 1004    361   
new file mode 100644
 1005    362   
index 0000000..a674243
 1006         -
-- /dev/null
         363  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/README.md
 1007    364   
@@ -0,0 +1,7 @@
         365  +
# AWS SigV4 and SigV4A Signing Test Suite
         366  +
         367  +
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).
         368  +
         369  +
We added the following changes:
         370  +
         371  +
* 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
 1008    372   
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
 1009    373   
similarity index 100%
 1010    374   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.creq
 1011    375   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-canonical-request.txt
 1012    376   
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
 1013    377   
similarity index 100%
 1014    378   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.sreq
 1015    379   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-signed-request.txt
 1016    380   
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
 1017    381   
similarity index 100%
 1018    382   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.req
 1019    383   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/request.txt
 1020    384   
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
 1021    385   
similarity index 100%
 1022    386   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.creq
 1023    387   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-canonical-request.txt
 1024    388   
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
 1025    389   
similarity index 100%
 1026    390   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sreq
 1027    391   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-signed-request.txt
 1028    392   
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
 1029    393   
similarity index 100%
 1030    394   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sts
 1031    395   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-string-to-sign.txt
 1032    396   
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
 1033    397   
similarity index 100%
 1034    398   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.req
 1035    399   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/request.txt
 1036    400   
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
 1037    401   
similarity index 99%
 1038    402   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/context.json
 1039    403   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/context.json
 1040    404   
index 45771c7..0468d80 100644
 1041    405   
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
 1042    406   
similarity index 100%
 1043    407   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.creq
 1044    408   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-canonical-request.txt
 1045    409   
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
 1046    410   
new file mode 100644
 1047    411   
index 0000000..7fc5d7a
 1048         -
-- /dev/null
         412  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signature.txt
 1049    413   
@@ -0,0 +1 @@
         414  +
c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
              \
 No newline at end of file
 1050    415   
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
 1051    416   
new file mode 100644
 1052    417   
index 0000000..36a1205
 1053         -
-- /dev/null
         418  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signed-request.txt
 1054    419   
@@ -0,0 +1,8 @@
         420  +
GET / HTTP/1.1
         421  +
Host:example.amazonaws.com
         422  +
My-Header1:value2
         423  +
My-Header1:value2
         424  +
My-Header1:value1
         425  +
X-Amz-Date:20150830T123600Z
         426  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
         427  +
 1055    428   
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
 1056    429   
similarity index 100%
 1057    430   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sts
 1058    431   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-string-to-sign.txt
 1059    432   
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
 1060    433   
new file mode 100644
 1061    434   
index 0000000..f9f4190
 1062         -
-- /dev/null
         435  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-canonical-request.txt
 1063    436   
@@ -0,0 +1,8 @@
         437  +
GET
         438  +
/
         439  +
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
         440  +
host:example.amazonaws.com
         441  +
my-header1:value2,value2,value1
         442  +
         443  +
host;my-header1
         444  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1064    445   
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
 1065    446   
new file mode 100644
 1066    447   
index 0000000..5d0d87f
 1067         -
-- /dev/null
         448  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signature.txt
 1068    449   
@@ -0,0 +1 @@
         450  +
3349ee0b81b4b589da0ff28a395c3591e04de515651dd74f298fa992d1507a97
              \
 No newline at end of file
 1069    451   
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
 1070    452   
new file mode 100644
 1071    453   
index 0000000..c1dfcf4
 1072         -
-- /dev/null
         454  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signed-request.txt
 1073    455   
@@ -0,0 +1,6 @@
         456  +
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
         457  +
Host:example.amazonaws.com
         458  +
My-Header1:value2
         459  +
My-Header1:value2
         460  +
My-Header1:value1
         461  +
 1074    462   
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
 1075    463   
similarity index 53%
 1076    464   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
 1077    465   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
 1078    466   
index 0a3350a..077c1bb 100644
 1079         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
         467  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
 1080    468   
@@ -1,4 +1,4 @@
 1081    469   
AWS4-HMAC-SHA256
 1082    470   
20150830T123600Z
 1083    471   
20150830/us-east-1/service/aws4_request
 1084         -
b7b6cbfd8a0430b78891e986784da2630c8a135a8595cec25b26ea94f926ee55
              \
 No newline at end of file
         472  +
fe8b58fb44117d598520befc07c144a5699c661a8db78f9ce4caee1655dec813
              \
 No newline at end of file
 1085    473   
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
 1086    474   
similarity index 100%
 1087    475   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/request.txt
 1088    476   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/request.txt
 1089    477   
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
 1090    478   
similarity index 99%
 1091    479   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/context.json
 1092    480   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/context.json
 1093    481   
index 45771c7..0468d80 100644
 1094    482   
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
 1095    483   
similarity index 82%
 1096    484   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
 1097    485   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1098    486   
index 721a39f..8cb5476 100644
 1099         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
         487  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1100    488   
@@ -1,9 +1,9 @@
 1101    489   
GET
 1102    490   
/
 1103    491   
 1104    492   
host:example.amazonaws.com
 1105         -
my-header1:value1,value2,value3
         493  +
my-header1:value1 value2 value3
 1106    494   
x-amz-date:20150830T123600Z
 1107    495   
 1108    496   
host;my-header1;x-amz-date
 1109    497   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1110    498   
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
 1111    499   
new file mode 100644
 1112    500   
index 0000000..e6ff7a9
 1113         -
-- /dev/null
         501  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signature.txt
 1114    502   
@@ -0,0 +1 @@
         503  +
cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
              \
 No newline at end of file
 1115    504   
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
 1116    505   
new file mode 100644
 1117    506   
index 0000000..b5ef6a0
 1118         -
-- /dev/null
         507  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signed-request.txt
 1119    508   
@@ -0,0 +1,8 @@
         509  +
GET / HTTP/1.1
         510  +
Host:example.amazonaws.com
         511  +
My-Header1:value1
         512  +
  value2
         513  +
     value3
         514  +
X-Amz-Date:20150830T123600Z
         515  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
         516  +
 1120    517   
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
 1121    518   
similarity index 53%
 1122    519   
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
 1123    520   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1124    521   
index fd43a41..97c7430 100644
 1125         -
-- 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
         522  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1126    523   
@@ -1,4 +1,4 @@
 1127    524   
AWS4-HMAC-SHA256
 1128    525   
20150830T123600Z
 1129    526   
20150830/us-east-1/service/aws4_request
 1130         -
704b4cef673542d84cdff252633f065e8daeba5f168b77116f8b1bcaf3d38f89
              \
 No newline at end of file
         527  +
e99419459a677bc11de234014be3c4e72c1ea5b454ceb58b613061f5d7a162e8
              \
 No newline at end of file
 1131    528   
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
 1132    529   
new file mode 100644
 1133    530   
index 0000000..aac46de
 1134         -
-- /dev/null
         531  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-canonical-request.txt
 1135    532   
@@ -0,0 +1,8 @@
         533  +
GET
         534  +
/
         535  +
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
         536  +
host:example.amazonaws.com
         537  +
my-header1:value1 value2 value3
         538  +
         539  +
host;my-header1
         540  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1136    541   
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
 1137    542   
new file mode 100644
 1138    543   
index 0000000..205732d
 1139         -
-- /dev/null
         544  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signature.txt
 1140    545   
@@ -0,0 +1 @@
         546  +
e6f5def831211aca02987a44b96826706278c7bc078112ae0263659c5b2f2d56
              \
 No newline at end of file
 1141    547   
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
 1142    548   
new file mode 100644
 1143    549   
index 0000000..a891b87
 1144         -
-- /dev/null
         550  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signed-request.txt
 1145    551   
@@ -0,0 +1,6 @@
         552  +
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
         553  +
Host:example.amazonaws.com
         554  +
My-Header1:value1
         555  +
  value2
         556  +
     value3
         557  +
 1146    558   
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
 1147    559   
similarity index 53%
 1148    560   
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
 1149    561   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1150    562   
index 90e66b8..ec3fe45 100644
 1151         -
-- 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
         563  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1152    564   
@@ -1,4 +1,4 @@
 1153    565   
AWS4-HMAC-SHA256
 1154    566   
20150830T123600Z
 1155    567   
20150830/us-east-1/service/aws4_request
 1156         -
c968629d70850097a2d8781c9bf7edcb988b04cac14cca9be4acc3595f884606
              \
 No newline at end of file
         568  +
0e73c10e35324b4d215da4bb70be61d13a3d30d569be4ed6e8fd8948965341ca
              \
 No newline at end of file
 1157    569   
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
 1158    570   
similarity index 75%
 1159    571   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
 1160    572   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1161    573   
index 7caa6ac..b5026cd 100644
 1162         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
         574  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1163    575   
@@ -1,6 +1,5 @@
 1164    576   
GET / HTTP/1.1
 1165    577   
Host:example.amazonaws.com
 1166    578   
My-Header1:value1
 1167    579   
  value2
 1168    580   
     value3
 1169         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1170    581   
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
 1171    582   
similarity index 99%
 1172    583   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/context.json
 1173    584   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/context.json
 1174    585   
index 45771c7..0468d80 100644
 1175    586   
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
 1176    587   
similarity index 100%
 1177    588   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.creq
 1178    589   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-canonical-request.txt
 1179    590   
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
 1180    591   
new file mode 100644
 1181    592   
index 0000000..8ef0494
 1182         -
-- /dev/null
         593  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signature.txt
 1183    594   
@@ -0,0 +1 @@
         595  +
08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
              \
 No newline at end of file
 1184    596   
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
 1185    597   
new file mode 100644
 1186    598   
index 0000000..b786dc9
 1187         -
-- /dev/null
         599  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signed-request.txt
 1188    600   
@@ -0,0 +1,9 @@
         601  +
GET / HTTP/1.1
         602  +
Host:example.amazonaws.com
         603  +
My-Header1:value4
         604  +
My-Header1:value1
         605  +
My-Header1:value3
         606  +
My-Header1:value2
         607  +
X-Amz-Date:20150830T123600Z
         608  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
         609  +
 1189    610   
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
 1190    611   
similarity index 100%
 1191    612   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sts
 1192    613   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-string-to-sign.txt
 1193    614   
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
 1194    615   
new file mode 100644
 1195    616   
index 0000000..a211cc5
 1196         -
-- /dev/null
         617  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-canonical-request.txt
 1197    618   
@@ -0,0 +1,8 @@
         619  +
GET
         620  +
/
         621  +
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
         622  +
host:example.amazonaws.com
         623  +
my-header1:value4,value1,value3,value2
         624  +
         625  +
host;my-header1
         626  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1198    627   
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
 1199    628   
new file mode 100644
 1200    629   
index 0000000..417b0fa
 1201         -
-- /dev/null
         630  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signature.txt
 1202    631   
@@ -0,0 +1 @@
         632  +
313720e71ca6202fdcfa9b20f88de01a4eb0638a83c833b1c184359a4eda864e
              \
 No newline at end of file
 1203    633   
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
 1204    634   
new file mode 100644
 1205    635   
index 0000000..b615e5d
 1206         -
-- /dev/null
         636  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signed-request.txt
 1207    637   
@@ -0,0 +1,7 @@
         638  +
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
         639  +
Host:example.amazonaws.com
         640  +
My-Header1:value4
         641  +
My-Header1:value1
         642  +
My-Header1:value3
         643  +
My-Header1:value2
         644  +
 1208    645   
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
 1209    646   
similarity index 53%
 1210    647   
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
 1211    648   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1212    649   
index f7e615e..dcaaa1b 100644
 1213         -
-- 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
         650  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1214    651   
@@ -1,4 +1,4 @@
 1215    652   
AWS4-HMAC-SHA256
 1216    653   
20150830T123600Z
 1217    654   
20150830/us-east-1/service/aws4_request
 1218         -
5a4a15e664c6705d500b13808c1c0e2e83f6a4748f1110a980051440f5a0d9f9
              \
 No newline at end of file
         655  +
f4d3f13084ba7664111670ce26458291d3e0c620acd9384f8cd6b60d8e83423e
              \
 No newline at end of file
 1219    656   
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
 1220    657   
similarity index 100%
 1221    658   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/request.txt
 1222    659   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/request.txt
 1223    660   
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
 1224    661   
similarity index 99%
 1225    662   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/context.json
 1226    663   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/context.json
 1227    664   
index 45771c7..0468d80 100644
 1228    665   
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
 1229    666   
similarity index 100%
 1230    667   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.creq
 1231    668   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-canonical-request.txt
 1232    669   
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
 1233    670   
new file mode 100644
 1234    671   
index 0000000..36081a9
 1235         -
-- /dev/null
         672  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signature.txt
 1236    673   
@@ -0,0 +1 @@
         674  +
acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
              \
 No newline at end of file
 1237    675   
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
 1238    676   
new file mode 100644
 1239    677   
index 0000000..6331d16
 1240         -
-- /dev/null
         678  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signed-request.txt
 1241    679   
@@ -0,0 +1,7 @@
         680  +
GET / HTTP/1.1
         681  +
Host:example.amazonaws.com
         682  +
My-Header1: value1
         683  +
My-Header2: "a   b   c"
         684  +
X-Amz-Date:20150830T123600Z
         685  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date, Signature=acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
         686  +
 1242    687   
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
 1243    688   
similarity index 100%
 1244    689   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sts
 1245    690   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-string-to-sign.txt
 1246    691   
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
 1247    692   
new file mode 100644
 1248    693   
index 0000000..125c1f9
 1249         -
-- /dev/null
         694  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-canonical-request.txt
 1250    695   
@@ -0,0 +1,9 @@
         696  +
GET
         697  +
/
         698  +
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
         699  +
host:example.amazonaws.com
         700  +
my-header1:value1
         701  +
my-header2:"a b c"
         702  +
         703  +
host;my-header1;my-header2
         704  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1251    705   
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
 1252    706   
new file mode 100644
 1253    707   
index 0000000..17007a8
 1254         -
-- /dev/null
         708  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signature.txt
 1255    709   
@@ -0,0 +1 @@
         710  +
e7bb0fd515e125e1aec2ecc4c0c17484fb06f6846b927c35e46005dd3df3acd4
              \
 No newline at end of file
 1256    711   
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
 1257    712   
new file mode 100644
 1258    713   
index 0000000..e519fd9
 1259         -
-- /dev/null
         714  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signed-request.txt
 1260    715   
@@ -0,0 +1,5 @@
         716  +
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
         717  +
Host:example.amazonaws.com
         718  +
My-Header1: value1
         719  +
My-Header2: "a   b   c"
         720  +
 1261    721   
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
 1262    722   
new file mode 100644
 1263    723   
index 0000000..6b4b781
 1264         -
-- /dev/null
         724  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-string-to-sign.txt
 1265    725   
@@ -0,0 +1,4 @@
         726  +
AWS4-HMAC-SHA256
         727  +
20150830T123600Z
         728  +
20150830/us-east-1/service/aws4_request
         729  +
84c9e353b6161b689210977f93b93e6a7182f9ecb2ceae8af8c3d86b080a88ae
              \
 No newline at end of file
 1266    730   
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
 1267    731   
similarity index 100%
 1268    732   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/request.txt
 1269    733   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/request.txt
 1270    734   
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
 1271    735   
new file mode 100644
 1272    736   
index 0000000..0468d80
 1273         -
-- /dev/null
         737  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/context.json
 1274    738   
@@ -0,0 +1,12 @@
         739  +
{
         740  +
    "credentials": {
         741  +
        "access_key_id": "AKIDEXAMPLE",
         742  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         743  +
    },
         744  +
    "expiration_in_seconds": 3600,
         745  +
    "normalize": true,
         746  +
    "region": "us-east-1",
         747  +
    "service": "service",
         748  +
    "sign_body": false,
         749  +
    "timestamp": "2015-08-30T12:36:00Z"
         750  +
}
              \
 No newline at end of file
 1275    751   
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
 1276    752   
similarity index 100%
 1277    753   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.creq
 1278    754   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-canonical-request.txt
 1279    755   
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
 1280    756   
new file mode 100644
 1281    757   
index 0000000..87f295f
 1282         -
-- /dev/null
         758  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signature.txt
 1283    759   
@@ -0,0 +1 @@
         760  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1284    761   
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
 1285    762   
new file mode 100644
 1286    763   
index 0000000..0de8327
 1287         -
-- /dev/null
         764  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signed-request.txt
 1288    765   
@@ -0,0 +1,5 @@
         766  +
GET /example/.. HTTP/1.1
         767  +
Host:example.amazonaws.com
         768  +
X-Amz-Date:20150830T123600Z
         769  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         770  +
 1289    771   
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
 1290    772   
similarity index 100%
 1291    773   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sts
 1292    774   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-string-to-sign.txt
 1293    775   
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
 1294    776   
new file mode 100644
 1295    777   
index 0000000..fb2420d
 1296         -
-- /dev/null
         778  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-canonical-request.txt
 1297    779   
@@ -0,0 +1,7 @@
         780  +
GET
         781  +
/
         782  +
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
         783  +
host:example.amazonaws.com
         784  +
         785  +
host
         786  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1298    787   
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
 1299    788   
new file mode 100644
 1300    789   
index 0000000..da5c905
 1301         -
-- /dev/null
         790  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signature.txt
 1302    791   
@@ -0,0 +1 @@
         792  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1303    793   
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
 1304    794   
new file mode 100644
 1305    795   
index 0000000..4329c98
 1306         -
-- /dev/null
         796  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signed-request.txt
 1307    797   
@@ -0,0 +1,3 @@
         798  +
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
         799  +
Host:example.amazonaws.com
         800  +
 1308    801   
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
 1309    802   
new file mode 100644
 1310    803   
index 0000000..d837e67
 1311         -
-- /dev/null
         804  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-string-to-sign.txt
 1312    805   
@@ -0,0 +1,4 @@
         806  +
AWS4-HMAC-SHA256
         807  +
20150830T123600Z
         808  +
20150830/us-east-1/service/aws4_request
         809  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1313    810   
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
 1314    811   
similarity index 100%
 1315    812   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/request.txt
 1316    813   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/request.txt
 1317    814   
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
 1318    815   
new file mode 100644
 1319    816   
index 0000000..0468d80
 1320         -
-- /dev/null
         817  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/context.json
 1321    818   
@@ -0,0 +1,12 @@
         819  +
{
         820  +
    "credentials": {
         821  +
        "access_key_id": "AKIDEXAMPLE",
         822  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         823  +
    },
         824  +
    "expiration_in_seconds": 3600,
         825  +
    "normalize": true,
         826  +
    "region": "us-east-1",
         827  +
    "service": "service",
         828  +
    "sign_body": false,
         829  +
    "timestamp": "2015-08-30T12:36:00Z"
         830  +
}
              \
 No newline at end of file
 1322    831   
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
 1323    832   
similarity index 100%
 1324    833   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.creq
 1325    834   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-canonical-request.txt
 1326    835   
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
 1327    836   
new file mode 100644
 1328    837   
index 0000000..87f295f
 1329         -
-- /dev/null
         838  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signature.txt
 1330    839   
@@ -0,0 +1 @@
         840  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1331    841   
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
 1332    842   
new file mode 100644
 1333    843   
index 0000000..f9b3815
 1334         -
-- /dev/null
         844  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signed-request.txt
 1335    845   
@@ -0,0 +1,5 @@
         846  +
GET /example1/example2/../.. HTTP/1.1
         847  +
Host:example.amazonaws.com
         848  +
X-Amz-Date:20150830T123600Z
         849  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         850  +
 1336    851   
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
 1337    852   
similarity index 100%
 1338    853   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sts
 1339    854   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-string-to-sign.txt
 1340    855   
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
 1341    856   
new file mode 100644
 1342    857   
index 0000000..fb2420d
 1343         -
-- /dev/null
         858  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-canonical-request.txt
 1344    859   
@@ -0,0 +1,7 @@
         860  +
GET
         861  +
/
         862  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
         863  +
host:example.amazonaws.com
         864  +
         865  +
host
         866  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1345    867   
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
 1346    868   
new file mode 100644
 1347    869   
index 0000000..da5c905
 1348         -
-- /dev/null
         870  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signature.txt
 1349    871   
@@ -0,0 +1 @@
         872  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1350    873   
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
 1351    874   
new file mode 100644
 1352    875   
index 0000000..b2988b7
 1353         -
-- /dev/null
         876  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signed-request.txt
 1354    877   
@@ -0,0 +1,3 @@
         878  +
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
         879  +
Host:example.amazonaws.com
         880  +
 1355    881   
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
 1356    882   
new file mode 100644
 1357    883   
index 0000000..d837e67
 1358         -
-- /dev/null
         884  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-string-to-sign.txt
 1359    885   
@@ -0,0 +1,4 @@
         886  +
AWS4-HMAC-SHA256
         887  +
20150830T123600Z
         888  +
20150830/us-east-1/service/aws4_request
         889  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1360    890   
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
 1361    891   
similarity index 100%
 1362    892   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/request.txt
 1363    893   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/request.txt
 1364    894   
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
 1365    895   
similarity index 99%
 1366    896   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/context.json
 1367    897   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/context.json
 1368    898   
index afe367b..7bee5c7 100644
 1369    899   
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
 1370    900   
similarity index 82%
 1371    901   
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
 1372    902   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1373    903   
index 36c3cdf..6919c44 100644
 1374         -
-- 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
         904  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1375    905   
@@ -1,8 +1,8 @@
 1376    906   
GET
 1377         -
/
 1378         -
Param1=Value1&Param1=value2
         907  +
/example1/example2/../..
         908  +
 1379    909   
host:example.amazonaws.com
 1380    910   
x-amz-date:20150830T123600Z
 1381    911   
 1382    912   
host;x-amz-date
 1383    913   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1384    914   
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
 1385    915   
new file mode 100644
 1386    916   
index 0000000..4092d83
 1387         -
-- /dev/null
         917  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signature.txt
 1388    918   
@@ -0,0 +1 @@
         919  +
dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
              \
 No newline at end of file
 1389    920   
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
 1390    921   
new file mode 100644
 1391    922   
index 0000000..e731b35
 1392         -
-- /dev/null
         923  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signed-request.txt
 1393    924   
@@ -0,0 +1,5 @@
         925  +
GET /example1/example2/../.. HTTP/1.1
         926  +
Host:example.amazonaws.com
         927  +
X-Amz-Date:20150830T123600Z
         928  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
         929  +
 1394    930   
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
 1395    931   
new file mode 100644
 1396    932   
index 0000000..4f45752
 1397         -
-- /dev/null
         933  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-string-to-sign.txt
 1398    934   
@@ -0,0 +1,4 @@
         935  +
AWS4-HMAC-SHA256
         936  +
20150830T123600Z
         937  +
20150830/us-east-1/service/aws4_request
         938  +
76115030c0f3ff06c20fdff5ceb6d5e0b835a1743e00b94fea7c7f381269437b
              \
 No newline at end of file
 1399    939   
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
 1400    940   
new file mode 100644
 1401    941   
index 0000000..e1fb07d
 1402         -
-- /dev/null
         942  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-canonical-request.txt
 1403    943   
@@ -0,0 +1,7 @@
         944  +
GET
         945  +
/example1/example2/../..
         946  +
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
         947  +
host:example.amazonaws.com
         948  +
         949  +
host
         950  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1404    951   
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
 1405    952   
new file mode 100644
 1406    953   
index 0000000..8ac31d7
 1407         -
-- /dev/null
         954  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signature.txt
 1408    955   
@@ -0,0 +1 @@
         956  +
b45db0bfd1cf15003493b733e33aa208dd981bd0e63037a6ed953f71d2118a16
              \
 No newline at end of file
 1409    957   
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
 1410    958   
new file mode 100644
 1411    959   
index 0000000..ac074f9
 1412         -
-- /dev/null
         960  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signed-request.txt
 1413    961   
@@ -0,0 +1,3 @@
         962  +
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
         963  +
Host:example.amazonaws.com
         964  +
 1414    965   
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
 1415    966   
new file mode 100644
 1416    967   
index 0000000..8dcb6ff
 1417         -
-- /dev/null
         968  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-string-to-sign.txt
 1418    969   
@@ -0,0 +1,4 @@
         970  +
AWS4-HMAC-SHA256
         971  +
20150830T123600Z
         972  +
20150830/us-east-1/service/aws4_request
         973  +
13b7758115ec070fe36a7ae9d754154ad73f6ee9a5eac022494857d0e7effc18
              \
 No newline at end of file
 1419    974   
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
 1420    975   
similarity index 100%
 1421    976   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/request.txt
 1422    977   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/request.txt
 1423    978   
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
 1424    979   
similarity index 99%
 1425    980   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/context.json
 1426    981   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/context.json
 1427    982   
index afe367b..7bee5c7 100644
 1428    983   
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
 1429    984   
similarity index 82%
 1430    985   
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
 1431    986   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1432    987   
index 26898eb..f640bc2 100644
 1433         -
-- 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
         988  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1434    989   
@@ -1,8 +1,8 @@
 1435    990   
GET
 1436         -
/
 1437         -
Param1=value1&Param1=value2
         991  +
/example/..
         992  +
 1438    993   
host:example.amazonaws.com
 1439    994   
x-amz-date:20150830T123600Z
 1440    995   
 1441    996   
host;x-amz-date
 1442    997   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1443    998   
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
 1444    999   
new file mode 100644
 1445   1000   
index 0000000..d957303
 1446         -
-- /dev/null
        1001  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signature.txt
 1447   1002   
@@ -0,0 +1 @@
        1003  +
eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
              \
 No newline at end of file
 1448   1004   
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
 1449   1005   
new file mode 100644
 1450   1006   
index 0000000..4f42ffc
 1451         -
-- /dev/null
        1007  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signed-request.txt
 1452   1008   
@@ -0,0 +1,5 @@
        1009  +
GET /example/.. HTTP/1.1
        1010  +
Host:example.amazonaws.com
        1011  +
X-Amz-Date:20150830T123600Z
        1012  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
        1013  +
 1453   1014   
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
 1454   1015   
new file mode 100644
 1455   1016   
index 0000000..ca54bda
 1456         -
-- /dev/null
        1017  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-string-to-sign.txt
 1457   1018   
@@ -0,0 +1,4 @@
        1019  +
AWS4-HMAC-SHA256
        1020  +
20150830T123600Z
        1021  +
20150830/us-east-1/service/aws4_request
        1022  +
0511f456aa502b456d135fcb9d749374a55228f9dbeedda1eacf659e05b0615b
              \
 No newline at end of file
 1458   1023   
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
 1459   1024   
new file mode 100644
 1460   1025   
index 0000000..dc80036
 1461         -
-- /dev/null
        1026  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-canonical-request.txt
 1462   1027   
@@ -0,0 +1,7 @@
        1028  +
GET
        1029  +
/example/..
        1030  +
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
        1031  +
host:example.amazonaws.com
        1032  +
        1033  +
host
        1034  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1463   1035   
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
 1464   1036   
new file mode 100644
 1465   1037   
index 0000000..dfa0437
 1466         -
-- /dev/null
        1038  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signature.txt
 1467   1039   
@@ -0,0 +1 @@
        1040  +
cbcb213b928a077e43275df47b500f1dfaa864ab3f5a18f6b95f4ff0938167ee
              \
 No newline at end of file
 1468   1041   
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
 1469   1042   
new file mode 100644
 1470   1043   
index 0000000..98367b1
 1471         -
-- /dev/null
        1044  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signed-request.txt
 1472   1045   
@@ -0,0 +1,3 @@
        1046  +
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
        1047  +
Host:example.amazonaws.com
        1048  +
 1473   1049   
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
 1474   1050   
new file mode 100644
 1475   1051   
index 0000000..f65dd66
 1476         -
-- /dev/null
        1052  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-string-to-sign.txt
 1477   1053   
@@ -0,0 +1,4 @@
        1054  +
AWS4-HMAC-SHA256
        1055  +
20150830T123600Z
        1056  +
20150830/us-east-1/service/aws4_request
        1057  +
6e02e2dba21d6f269bae339b86ff27a4b7bbc9d88c482abccbfbf8a49d602482
              \
 No newline at end of file
 1478   1058   
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
 1479   1059   
similarity index 100%
 1480   1060   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/request.txt
 1481   1061   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/request.txt
 1482   1062   
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
 1483   1063   
new file mode 100644
 1484   1064   
index 0000000..0468d80
 1485         -
-- /dev/null
        1065  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/context.json
 1486   1066   
@@ -0,0 +1,12 @@
        1067  +
{
        1068  +
    "credentials": {
        1069  +
        "access_key_id": "AKIDEXAMPLE",
        1070  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1071  +
    },
        1072  +
    "expiration_in_seconds": 3600,
        1073  +
    "normalize": true,
        1074  +
    "region": "us-east-1",
        1075  +
    "service": "service",
        1076  +
    "sign_body": false,
        1077  +
    "timestamp": "2015-08-30T12:36:00Z"
        1078  +
}
              \
 No newline at end of file
 1487   1079   
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
 1488   1080   
similarity index 100%
 1489   1081   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.creq
 1490   1082   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-canonical-request.txt
 1491   1083   
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
 1492   1084   
new file mode 100644
 1493   1085   
index 0000000..87f295f
 1494         -
-- /dev/null
        1086  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signature.txt
 1495   1087   
@@ -0,0 +1 @@
        1088  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1496   1089   
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
 1497   1090   
new file mode 100644
 1498   1091   
index 0000000..99c8eeb
 1499         -
-- /dev/null
        1092  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signed-request.txt
 1500   1093   
@@ -0,0 +1,5 @@
        1094  +
GET /./ HTTP/1.1
        1095  +
Host:example.amazonaws.com
        1096  +
X-Amz-Date:20150830T123600Z
        1097  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1098  +
 1501   1099   
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
 1502   1100   
similarity index 100%
 1503   1101   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sts
 1504   1102   
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
 1505   1103   
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
 1506   1104   
new file mode 100644
 1507   1105   
index 0000000..fb2420d
 1508         -
-- /dev/null
        1106  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-canonical-request.txt
 1509   1107   
@@ -0,0 +1,7 @@
        1108  +
GET
        1109  +
/
        1110  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1111  +
host:example.amazonaws.com
        1112  +
        1113  +
host
        1114  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1510   1115   
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
 1511   1116   
new file mode 100644
 1512   1117   
index 0000000..da5c905
 1513         -
-- /dev/null
        1118  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signature.txt
 1514   1119   
@@ -0,0 +1 @@
        1120  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1515   1121   
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
 1516   1122   
new file mode 100644
 1517   1123   
index 0000000..2e47f69
 1518         -
-- /dev/null
        1124  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signed-request.txt
 1519   1125   
@@ -0,0 +1,3 @@
        1126  +
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
        1127  +
Host:example.amazonaws.com
        1128  +
 1520   1129   
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
 1521   1130   
new file mode 100644
 1522   1131   
index 0000000..d837e67
 1523         -
-- /dev/null
        1132  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-string-to-sign.txt
 1524   1133   
@@ -0,0 +1,4 @@
        1134  +
AWS4-HMAC-SHA256
        1135  +
20150830T123600Z
        1136  +
20150830/us-east-1/service/aws4_request
        1137  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1525   1138   
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
 1526   1139   
similarity index 100%
 1527   1140   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/request.txt
 1528   1141   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/request.txt
 1529   1142   
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
 1530   1143   
similarity index 99%
 1531   1144   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/context.json
 1532   1145   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/context.json
 1533   1146   
index afe367b..7bee5c7 100644
 1534   1147   
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
 1535   1148   
new file mode 100644
 1536   1149   
index 0000000..5159048
 1537         -
-- /dev/null
        1150  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 1538   1151   
@@ -0,0 +1,8 @@
        1152  +
GET
        1153  +
/./
        1154  +
        1155  +
host:example.amazonaws.com
        1156  +
x-amz-date:20150830T123600Z
        1157  +
        1158  +
host;x-amz-date
        1159  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1539   1160   
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
 1540   1161   
new file mode 100644
 1541   1162   
index 0000000..b49ff0e
 1542         -
-- /dev/null
        1163  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signature.txt
 1543   1164   
@@ -0,0 +1 @@
        1165  +
68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
              \
 No newline at end of file
 1544   1166   
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
 1545   1167   
new file mode 100644
 1546   1168   
index 0000000..aeb1ffa
 1547         -
-- /dev/null
        1169  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signed-request.txt
 1548   1170   
@@ -0,0 +1,5 @@
        1171  +
GET /./ HTTP/1.1
        1172  +
Host:example.amazonaws.com
        1173  +
X-Amz-Date:20150830T123600Z
        1174  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
        1175  +
 1549   1176   
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
 1550   1177   
new file mode 100644
 1551   1178   
index 0000000..b7d8caf
 1552         -
-- /dev/null
        1179  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 1553   1180   
@@ -0,0 +1,4 @@
        1181  +
AWS4-HMAC-SHA256
        1182  +
20150830T123600Z
        1183  +
20150830/us-east-1/service/aws4_request
        1184  +
d67825e2268bd77a97c7688b8d72c31a3c1855b309808505ba0a9747d2465aa7
              \
 No newline at end of file
 1554   1185   
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
 1555   1186   
new file mode 100644
 1556   1187   
index 0000000..d4e029e
 1557         -
-- /dev/null
        1188  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 1558   1189   
@@ -0,0 +1,7 @@
        1190  +
GET
        1191  +
/./
        1192  +
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
        1193  +
host:example.amazonaws.com
        1194  +
        1195  +
host
        1196  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1559   1197   
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
 1560   1198   
new file mode 100644
 1561   1199   
index 0000000..fe8f4cc
 1562         -
-- /dev/null
        1200  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signature.txt
 1563   1201   
@@ -0,0 +1 @@
        1202  +
a9b13e8f3484d9505bf1a6f347219f8f35b0fe8f128ceea597efc146a3dfe90c
              \
 No newline at end of file
 1564   1203   
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
 1565   1204   
new file mode 100644
 1566   1205   
index 0000000..dcc4fc4
 1567         -
-- /dev/null
        1206  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signed-request.txt
 1568   1207   
@@ -0,0 +1,3 @@
        1208  +
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
        1209  +
Host:example.amazonaws.com
        1210  +
 1569   1211   
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
 1570   1212   
new file mode 100644
 1571   1213   
index 0000000..5fb3ada
 1572         -
-- /dev/null
        1214  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 1573   1215   
@@ -0,0 +1,4 @@
        1216  +
AWS4-HMAC-SHA256
        1217  +
20150830T123600Z
        1218  +
20150830/us-east-1/service/aws4_request
        1219  +
21b2da17873f30c1a7410efdc271738b318ccc2c9c6fbe1289fc242aeb1a8ae1
              \
 No newline at end of file
 1574   1220   
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
 1575   1221   
similarity index 100%
 1576   1222   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/request.txt
 1577   1223   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/request.txt
 1578   1224   
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
 1579   1225   
new file mode 100644
 1580   1226   
index 0000000..0468d80
 1581         -
-- /dev/null
        1227  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/context.json
 1582   1228   
@@ -0,0 +1,12 @@
        1229  +
{
        1230  +
    "credentials": {
        1231  +
        "access_key_id": "AKIDEXAMPLE",
        1232  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1233  +
    },
        1234  +
    "expiration_in_seconds": 3600,
        1235  +
    "normalize": true,
        1236  +
    "region": "us-east-1",
        1237  +
    "service": "service",
        1238  +
    "sign_body": false,
        1239  +
    "timestamp": "2015-08-30T12:36:00Z"
        1240  +
}
              \
 No newline at end of file
 1583   1241   
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
 1584   1242   
similarity index 100%
 1585   1243   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.creq
 1586   1244   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-canonical-request.txt
 1587   1245   
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
 1588   1246   
new file mode 100644
 1589   1247   
index 0000000..87f295f
 1590         -
-- /dev/null
        1248  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signature.txt
 1591   1249   
@@ -0,0 +1 @@
        1250  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1592   1251   
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
 1593   1252   
new file mode 100644
 1594   1253   
index 0000000..b91087b
 1595         -
-- /dev/null
        1254  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signed-request.txt
 1596   1255   
@@ -0,0 +1,5 @@
        1256  +
GET // HTTP/1.1
        1257  +
Host:example.amazonaws.com
        1258  +
X-Amz-Date:20150830T123600Z
        1259  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1260  +
 1597   1261   
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
 1598   1262   
similarity index 100%
 1599   1263   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sts
 1600   1264   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-string-to-sign.txt
 1601   1265   
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
 1602   1266   
new file mode 100644
 1603   1267   
index 0000000..fb2420d
 1604         -
-- /dev/null
        1268  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-canonical-request.txt
 1605   1269   
@@ -0,0 +1,7 @@
        1270  +
GET
        1271  +
/
        1272  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1273  +
host:example.amazonaws.com
        1274  +
        1275  +
host
        1276  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1606   1277   
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
 1607   1278   
new file mode 100644
 1608   1279   
index 0000000..da5c905
 1609         -
-- /dev/null
        1280  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signature.txt
 1610   1281   
@@ -0,0 +1 @@
        1282  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1611   1283   
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
 1612   1284   
new file mode 100644
 1613   1285   
index 0000000..0290ba4
 1614         -
-- /dev/null
        1286  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signed-request.txt
 1615   1287   
@@ -0,0 +1,3 @@
        1288  +
GET //?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d HTTP/1.1
        1289  +
Host:example.amazonaws.com
        1290  +
 1616   1291   
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
 1617   1292   
new file mode 100644
 1618   1293   
index 0000000..d837e67
 1619         -
-- /dev/null
        1294  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-string-to-sign.txt
 1620   1295   
@@ -0,0 +1,4 @@
        1296  +
AWS4-HMAC-SHA256
        1297  +
20150830T123600Z
        1298  +
20150830/us-east-1/service/aws4_request
        1299  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1621   1300   
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
 1622   1301   
similarity index 100%
 1623   1302   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/request.txt
 1624   1303   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/request.txt
 1625   1304   
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
 1626   1305   
new file mode 100644
 1627   1306   
index 0000000..0468d80
 1628         -
-- /dev/null
        1307  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/context.json
 1629   1308   
@@ -0,0 +1,12 @@
        1309  +
{
        1310  +
    "credentials": {
        1311  +
        "access_key_id": "AKIDEXAMPLE",
        1312  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1313  +
    },
        1314  +
    "expiration_in_seconds": 3600,
        1315  +
    "normalize": true,
        1316  +
    "region": "us-east-1",
        1317  +
    "service": "service",
        1318  +
    "sign_body": false,
        1319  +
    "timestamp": "2015-08-30T12:36:00Z"
        1320  +
}
              \
 No newline at end of file
 1630   1321   
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
 1631   1322   
similarity index 100%
 1632   1323   
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
 1633   1324   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-canonical-request.txt
 1634   1325   
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
 1635   1326   
new file mode 100644
 1636   1327   
index 0000000..8f892bf
 1637         -
-- /dev/null
        1328  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signature.txt
 1638   1329   
@@ -0,0 +1 @@
        1330  +
ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
              \
 No newline at end of file
 1639   1331   
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
 1640   1332   
new file mode 100644
 1641   1333   
index 0000000..2a1895c
 1642         -
-- /dev/null
        1334  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signed-request.txt
 1643   1335   
@@ -0,0 +1,5 @@
        1336  +
GET /./example HTTP/1.1
        1337  +
Host:example.amazonaws.com
        1338  +
X-Amz-Date:20150830T123600Z
        1339  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
        1340  +
 1644   1341   
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
 1645   1342   
similarity index 100%
 1646   1343   
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
 1647   1344   
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
 1648   1345   
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
 1649   1346   
new file mode 100644
 1650   1347   
index 0000000..99dfc2a
 1651         -
-- /dev/null
        1348  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-canonical-request.txt
 1652   1349   
@@ -0,0 +1,7 @@
        1350  +
GET
        1351  +
/example
        1352  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1353  +
host:example.amazonaws.com
        1354  +
        1355  +
host
        1356  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1653   1357   
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
 1654   1358   
new file mode 100644
 1655   1359   
index 0000000..fcd7a17
 1656         -
-- /dev/null
        1360  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signature.txt
 1657   1361   
@@ -0,0 +1 @@
        1362  +
35034b1a0bdd969f346975386daf8aedfd4976573b8348cf4f67eaa41c5857de
              \
 No newline at end of file
 1658   1363   
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
 1659   1364   
new file mode 100644
 1660   1365   
index 0000000..f671de2
 1661         -
-- /dev/null
        1366  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signed-request.txt
 1662   1367   
@@ -0,0 +1,3 @@
        1368  +
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
        1369  +
Host:example.amazonaws.com
        1370  +
 1663   1371   
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
 1664   1372   
new file mode 100644
 1665   1373   
index 0000000..f8456dc
 1666         -
-- /dev/null
        1374  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 1667   1375   
@@ -0,0 +1,4 @@
        1376  +
AWS4-HMAC-SHA256
        1377  +
20150830T123600Z
        1378  +
20150830/us-east-1/service/aws4_request
        1379  +
88dd73bb06de69cb042dbb82cadbb4fce1a2623615d94520c271614abf94e738
              \
 No newline at end of file
 1668   1380   
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
 1669   1381   
similarity index 100%
 1670   1382   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/request.txt
 1671   1383   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/request.txt
 1672   1384   
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
 1673   1385   
similarity index 99%
 1674   1386   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/context.json
 1675   1387   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/context.json
 1676   1388   
index afe367b..7bee5c7 100644
 1677   1389   
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
 1678   1390   
new file mode 100644
 1679   1391   
index 0000000..36698c7
 1680         -
-- /dev/null
        1392  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 1681   1393   
@@ -0,0 +1,8 @@
        1394  +
GET
        1395  +
/./example
        1396  +
        1397  +
host:example.amazonaws.com
        1398  +
x-amz-date:20150830T123600Z
        1399  +
        1400  +
host;x-amz-date
        1401  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1682   1402   
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
 1683   1403   
new file mode 100644
 1684   1404   
index 0000000..4a4b8f2
 1685         -
-- /dev/null
        1405  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signature.txt
 1686   1406   
@@ -0,0 +1 @@
        1407  +
beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
              \
 No newline at end of file
 1687   1408   
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
 1688   1409   
new file mode 100644
 1689   1410   
index 0000000..d462bcd
 1690         -
-- /dev/null
        1411  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 1691   1412   
@@ -0,0 +1,5 @@
        1413  +
GET /./example HTTP/1.1
        1414  +
Host:example.amazonaws.com
        1415  +
X-Amz-Date:20150830T123600Z
        1416  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
        1417  +
 1692   1418   
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
 1693   1419   
new file mode 100644
 1694   1420   
index 0000000..8be78c9
 1695         -
-- /dev/null
        1421  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 1696   1422   
@@ -0,0 +1,4 @@
        1423  +
AWS4-HMAC-SHA256
        1424  +
20150830T123600Z
        1425  +
20150830/us-east-1/service/aws4_request
        1426  +
73895e0e829507e28e39fd24669aedc2434a8e179e547e3c075b42921f952cdb
              \
 No newline at end of file
 1697   1427   
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
 1698   1428   
new file mode 100644
 1699   1429   
index 0000000..fe1103c
 1700         -
-- /dev/null
        1430  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 1701   1431   
@@ -0,0 +1,7 @@
        1432  +
GET
        1433  +
/./example
        1434  +
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
        1435  +
host:example.amazonaws.com
        1436  +
        1437  +
host
        1438  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1702   1439   
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
 1703   1440   
new file mode 100644
 1704   1441   
index 0000000..ce80762
 1705         -
-- /dev/null
        1442  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signature.txt
 1706   1443   
@@ -0,0 +1 @@
        1444  +
72b11f16d9530b18204bfb71f2d6ab085894c0ed8d352730a6e76234c58b5e10
              \
 No newline at end of file
 1707   1445   
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
 1708   1446   
new file mode 100644
 1709   1447   
index 0000000..30841a6
 1710         -
-- /dev/null
        1448  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 1711   1449   
@@ -0,0 +1,3 @@
        1450  +
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
        1451  +
Host:example.amazonaws.com
        1452  +
 1712   1453   
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
 1713   1454   
new file mode 100644
 1714   1455   
index 0000000..5c66509
 1715         -
-- /dev/null
        1456  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 1716   1457   
@@ -0,0 +1,4 @@
        1458  +
AWS4-HMAC-SHA256
        1459  +
20150830T123600Z
        1460  +
20150830/us-east-1/service/aws4_request
        1461  +
cb23444939471187ac1f0fb25d437337af0d5f48b5ae0ede5baa3727c8c6af92
              \
 No newline at end of file
 1717   1462   
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
 1718   1463   
similarity index 100%
 1719   1464   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/request.txt
 1720   1465   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/request.txt
 1721   1466   
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
 1722   1467   
new file mode 100644
 1723   1468   
index 0000000..7bee5c7
 1724         -
-- /dev/null
        1469  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/context.json
 1725   1470   
@@ -0,0 +1,12 @@
        1471  +
{
        1472  +
    "credentials": {
        1473  +
        "access_key_id": "AKIDEXAMPLE",
        1474  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1475  +
    },
        1476  +
    "expiration_in_seconds": 3600,
        1477  +
    "normalize": false,
        1478  +
    "region": "us-east-1",
        1479  +
    "service": "service",
        1480  +
    "sign_body": false,
        1481  +
    "timestamp": "2015-08-30T12:36:00Z"
        1482  +
}
              \
 No newline at end of file
 1726   1483   
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
 1727   1484   
new file mode 100644
 1728   1485   
index 0000000..5860c8a
 1729         -
-- /dev/null
        1486  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-canonical-request.txt
 1730   1487   
@@ -0,0 +1,8 @@
        1488  +
GET
        1489  +
//
        1490  +
        1491  +
host:example.amazonaws.com
        1492  +
x-amz-date:20150830T123600Z
        1493  +
        1494  +
host;x-amz-date
        1495  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1731   1496   
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
 1732   1497   
new file mode 100644
 1733   1498   
index 0000000..8310471
 1734         -
-- /dev/null
        1499  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signature.txt
 1735   1500   
@@ -0,0 +1 @@
        1501  +
c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
              \
 No newline at end of file
 1736   1502   
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
 1737   1503   
new file mode 100644
 1738   1504   
index 0000000..2a7afef
 1739         -
-- /dev/null
        1505  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signed-request.txt
 1740   1506   
@@ -0,0 +1,5 @@
        1507  +
GET // HTTP/1.1
        1508  +
Host:example.amazonaws.com
        1509  +
X-Amz-Date:20150830T123600Z
        1510  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
        1511  +
 1741   1512   
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
 1742   1513   
new file mode 100644
 1743   1514   
index 0000000..06059dd
 1744         -
-- /dev/null
        1515  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-string-to-sign.txt
 1745   1516   
@@ -0,0 +1,4 @@
        1517  +
AWS4-HMAC-SHA256
        1518  +
20150830T123600Z
        1519  +
20150830/us-east-1/service/aws4_request
        1520  +
80cb39203d058af815de2b79250ff56e1b73eb9b4718c86556cdc6f150c5d209
              \
 No newline at end of file
 1746   1521   
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
 1747   1522   
new file mode 100644
 1748   1523   
index 0000000..6d63aef
 1749         -
-- /dev/null
        1524  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-canonical-request.txt
 1750   1525   
@@ -0,0 +1,7 @@
        1526  +
GET
        1527  +
//
        1528  +
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
        1529  +
host:example.amazonaws.com
        1530  +
        1531  +
host
        1532  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1751   1533   
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
 1752   1534   
new file mode 100644
 1753   1535   
index 0000000..e5b7b6c
 1754         -
-- /dev/null
        1536  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signature.txt
 1755   1537   
@@ -0,0 +1 @@
        1538  +
b2a9542809db687769200f56a844a03f2bd0291d6eb90232d5101c6a579446cd
              \
 No newline at end of file
 1756   1539   
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
 1757   1540   
new file mode 100644
 1758   1541   
index 0000000..46fe3fd
 1759         -
-- /dev/null
        1542  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signed-request.txt
 1760   1543   
@@ -0,0 +1,3 @@
        1544  +
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
        1545  +
Host:example.amazonaws.com
        1546  +
 1761   1547   
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
 1762   1548   
new file mode 100644
 1763   1549   
index 0000000..ea79940
 1764         -
-- /dev/null
        1550  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-string-to-sign.txt
 1765   1551   
@@ -0,0 +1,4 @@
        1552  +
AWS4-HMAC-SHA256
        1553  +
20150830T123600Z
        1554  +
20150830/us-east-1/service/aws4_request
        1555  +
e10a01494cafa1f2207c4de80c69b7a36d6f2d282aa63ee64a5ca50e175cf730
              \
 No newline at end of file
 1766   1556   
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
 1767   1557   
similarity index 100%
 1768   1558   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/request.txt
 1769   1559   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/request.txt
 1770   1560   
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
 1771   1561   
new file mode 100644
 1772   1562   
index 0000000..0468d80
 1773         -
-- /dev/null
        1563  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/context.json
 1774   1564   
@@ -0,0 +1,12 @@
        1565  +
{
        1566  +
    "credentials": {
        1567  +
        "access_key_id": "AKIDEXAMPLE",
        1568  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1569  +
    },
        1570  +
    "expiration_in_seconds": 3600,
        1571  +
    "normalize": true,
        1572  +
    "region": "us-east-1",
        1573  +
    "service": "service",
        1574  +
    "sign_body": false,
        1575  +
    "timestamp": "2015-08-30T12:36:00Z"
        1576  +
}
              \
 No newline at end of file
 1775   1577   
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
 1776   1578   
similarity index 100%
 1777   1579   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.creq
 1778   1580   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-canonical-request.txt
 1779   1581   
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
 1780   1582   
new file mode 100644
 1781   1583   
index 0000000..71c7bac
 1782         -
-- /dev/null
        1584  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signature.txt
 1783   1585   
@@ -0,0 +1 @@
        1586  +
9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
              \
 No newline at end of file
 1784   1587   
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
 1785   1588   
new file mode 100644
 1786   1589   
index 0000000..0add1f1
 1787         -
-- /dev/null
        1590  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signed-request.txt
 1788   1591   
@@ -0,0 +1,5 @@
        1592  +
GET //example// HTTP/1.1
        1593  +
Host:example.amazonaws.com
        1594  +
X-Amz-Date:20150830T123600Z
        1595  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
        1596  +
 1789   1597   
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
 1790   1598   
similarity index 100%
 1791   1599   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sts
 1792   1600   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-string-to-sign.txt
 1793   1601   
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
 1794   1602   
new file mode 100644
 1795   1603   
index 0000000..ce72510
 1796         -
-- /dev/null
        1604  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-canonical-request.txt
 1797   1605   
@@ -0,0 +1,7 @@
        1606  +
GET
        1607  +
/example/
        1608  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1609  +
host:example.amazonaws.com
        1610  +
        1611  +
host
        1612  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1798   1613   
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
 1799   1614   
new file mode 100644
 1800   1615   
index 0000000..265f387
 1801         -
-- /dev/null
        1616  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signature.txt
 1802   1617   
@@ -0,0 +1 @@
        1618  +
c1834e8fb0307243711f0f907f6ab7311ed300d87f13792d7ee4da89ab93e082
              \
 No newline at end of file
 1803   1619   
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
 1804   1620   
new file mode 100644
 1805   1621   
index 0000000..e1fcb2e
 1806         -
-- /dev/null
        1622  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signed-request.txt
 1807   1623   
@@ -0,0 +1,3 @@
        1624  +
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
        1625  +
Host:example.amazonaws.com
        1626  +
 1808   1627   
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
 1809   1628   
new file mode 100644
 1810   1629   
index 0000000..a14de61
 1811         -
-- /dev/null
        1630  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-string-to-sign.txt
 1812   1631   
@@ -0,0 +1,4 @@
        1632  +
AWS4-HMAC-SHA256
        1633  +
20150830T123600Z
        1634  +
20150830/us-east-1/service/aws4_request
        1635  +
1a3e3fe19998c62136ed2ff9c8531973a46d4a21b336f58e8fcad185ec64d642
              \
 No newline at end of file
 1813   1636   
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
 1814   1637   
similarity index 100%
 1815   1638   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/request.txt
 1816   1639   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/request.txt
 1817   1640   
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
 1818   1641   
new file mode 100644
 1819   1642   
index 0000000..7bee5c7
 1820         -
-- /dev/null
        1643  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/context.json
 1821   1644   
@@ -0,0 +1,12 @@
        1645  +
{
        1646  +
    "credentials": {
        1647  +
        "access_key_id": "AKIDEXAMPLE",
        1648  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1649  +
    },
        1650  +
    "expiration_in_seconds": 3600,
        1651  +
    "normalize": false,
        1652  +
    "region": "us-east-1",
        1653  +
    "service": "service",
        1654  +
    "sign_body": false,
        1655  +
    "timestamp": "2015-08-30T12:36:00Z"
        1656  +
}
              \
 No newline at end of file
 1822   1657   
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
 1823   1658   
new file mode 100644
 1824   1659   
index 0000000..dfffaaf
 1825         -
-- /dev/null
        1660  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-canonical-request.txt
 1826   1661   
@@ -0,0 +1,8 @@
        1662  +
GET
        1663  +
//example//
        1664  +
        1665  +
host:example.amazonaws.com
        1666  +
x-amz-date:20150830T123600Z
        1667  +
        1668  +
host;x-amz-date
        1669  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1827   1670   
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
 1828   1671   
new file mode 100644
 1829   1672   
index 0000000..edbcc0d
 1830         -
-- /dev/null
        1673  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signature.txt
 1831   1674   
@@ -0,0 +1 @@
        1675  +
87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
              \
 No newline at end of file
 1832   1676   
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
 1833   1677   
new file mode 100644
 1834   1678   
index 0000000..4cc12dd
 1835         -
-- /dev/null
        1679  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signed-request.txt
 1836   1680   
@@ -0,0 +1,5 @@
        1681  +
GET //example// HTTP/1.1
        1682  +
Host:example.amazonaws.com
        1683  +
X-Amz-Date:20150830T123600Z
        1684  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
        1685  +
 1837   1686   
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
 1838   1687   
new file mode 100644
 1839   1688   
index 0000000..3eba390
 1840         -
-- /dev/null
        1689  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-string-to-sign.txt
 1841   1690   
@@ -0,0 +1,4 @@
        1691  +
AWS4-HMAC-SHA256
        1692  +
20150830T123600Z
        1693  +
20150830/us-east-1/service/aws4_request
        1694  +
528ec3105ee1f34ab014bb0a1a45da0ed2742a4fea3555149e5b4d5d201eb240
              \
 No newline at end of file
 1842   1695   
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
 1843   1696   
new file mode 100644
 1844   1697   
index 0000000..f7844e3
 1845         -
-- /dev/null
        1698  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-canonical-request.txt
 1846   1699   
@@ -0,0 +1,7 @@
        1700  +
GET
        1701  +
//example//
        1702  +
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
        1703  +
host:example.amazonaws.com
        1704  +
        1705  +
host
        1706  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1847   1707   
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
 1848   1708   
new file mode 100644
 1849   1709   
index 0000000..a8d6b96
 1850         -
-- /dev/null
        1710  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signature.txt
 1851   1711   
@@ -0,0 +1 @@
        1712  +
822a5a9ba28072c5ab2bb4a6307d0c88276d40e49fec6b724c03fb4d4ba60fc2
              \
 No newline at end of file
 1852   1713   
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
 1853   1714   
new file mode 100644
 1854   1715   
index 0000000..a8322c6
 1855         -
-- /dev/null
        1716  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signed-request.txt
 1856   1717   
@@ -0,0 +1,3 @@
        1718  +
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
        1719  +
Host:example.amazonaws.com
        1720  +
 1857   1721   
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
 1858   1722   
new file mode 100644
 1859   1723   
index 0000000..068724d
 1860         -
-- /dev/null
        1724  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-string-to-sign.txt
 1861   1725   
@@ -0,0 +1,4 @@
        1726  +
AWS4-HMAC-SHA256
        1727  +
20150830T123600Z
        1728  +
20150830/us-east-1/service/aws4_request
        1729  +
82241114f9a6320f054333c890952474aa7a0069d28a4326c3a8d95bbecc69ee
              \
 No newline at end of file
 1862   1730   
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
 1863   1731   
similarity index 100%
 1864   1732   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/request.txt
 1865   1733   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/request.txt
 1866   1734   
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
 1867   1735   
new file mode 100644
 1868   1736   
index 0000000..0468d80
 1869         -
-- /dev/null
        1737  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/context.json
 1870   1738   
@@ -0,0 +1,12 @@
        1739  +
{
        1740  +
    "credentials": {
        1741  +
        "access_key_id": "AKIDEXAMPLE",
        1742  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1743  +
    },
        1744  +
    "expiration_in_seconds": 3600,
        1745  +
    "normalize": true,
        1746  +
    "region": "us-east-1",
        1747  +
    "service": "service",
        1748  +
    "sign_body": false,
        1749  +
    "timestamp": "2015-08-30T12:36:00Z"
        1750  +
}
              \
 No newline at end of file
 1871   1751   
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
 1872   1752   
similarity index 100%
 1873   1753   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.creq
 1874   1754   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-canonical-request.txt
 1875   1755   
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
 1876   1756   
new file mode 100644
 1877   1757   
index 0000000..f63892b
 1878         -
-- /dev/null
        1758  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signature.txt
 1879   1759   
@@ -0,0 +1 @@
        1760  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1880   1761   
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
 1881   1762   
new file mode 100644
 1882   1763   
index 0000000..19cd5cb
 1883         -
-- /dev/null
        1764  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signed-request.txt
 1884   1765   
@@ -0,0 +1,5 @@
        1766  +
GET /example space/ HTTP/1.1
        1767  +
Host:example.amazonaws.com
        1768  +
X-Amz-Date:20150830T123600Z
        1769  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1770  +
 1885   1771   
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
 1886   1772   
similarity index 100%
 1887   1773   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sts
 1888   1774   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-string-to-sign.txt
 1889   1775   
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
 1890   1776   
new file mode 100644
 1891   1777   
index 0000000..fa3d3e2
 1892         -
-- /dev/null
        1778  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-canonical-request.txt
 1893   1779   
@@ -0,0 +1,7 @@
        1780  +
GET
        1781  +
/example%20space/
        1782  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1783  +
host:example.amazonaws.com
        1784  +
        1785  +
host
        1786  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1894   1787   
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
 1895   1788   
new file mode 100644
 1896   1789   
index 0000000..5b2e204
 1897         -
-- /dev/null
        1790  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signature.txt
 1898   1791   
@@ -0,0 +1 @@
        1792  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 1899   1793   
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
 1900   1794   
new file mode 100644
 1901   1795   
index 0000000..93ca1d0
 1902         -
-- /dev/null
        1796  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signed-request.txt
 1903   1797   
@@ -0,0 +1,3 @@
        1798  +
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
        1799  +
Host:example.amazonaws.com
        1800  +
 1904   1801   
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
 1905   1802   
new file mode 100644
 1906   1803   
index 0000000..b4cb789
 1907         -
-- /dev/null
        1804  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-string-to-sign.txt
 1908   1805   
@@ -0,0 +1,4 @@
        1806  +
AWS4-HMAC-SHA256
        1807  +
20150830T123600Z
        1808  +
20150830/us-east-1/service/aws4_request
        1809  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 1909   1810   
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
 1910   1811   
new file mode 100644
 1911   1812   
index 0000000..860a277
 1912         -
-- /dev/null
        1813  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/request.txt
 1913   1814   
@@ -0,0 +1,2 @@
        1815  +
GET /example%20space/ HTTP/1.1
        1816  +
Host:example.amazonaws.com
 1914   1817   
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
 1915   1818   
new file mode 100644
 1916   1819   
index 0000000..7bee5c7
 1917         -
-- /dev/null
        1820  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/context.json
 1918   1821   
@@ -0,0 +1,12 @@
        1822  +
{
        1823  +
    "credentials": {
        1824  +
        "access_key_id": "AKIDEXAMPLE",
        1825  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1826  +
    },
        1827  +
    "expiration_in_seconds": 3600,
        1828  +
    "normalize": false,
        1829  +
    "region": "us-east-1",
        1830  +
    "service": "service",
        1831  +
    "sign_body": false,
        1832  +
    "timestamp": "2015-08-30T12:36:00Z"
        1833  +
}
              \
 No newline at end of file
 1919   1834   
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
 1920   1835   
similarity index 66%
 1921   1836   
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
 1922   1837   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1923   1838   
index 71dc981..124a709 100644
 1924         -
-- 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
        1839  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1925   1840   
@@ -1,9 +1,8 @@
 1926         -
POST
 1927         -
/
        1841  +
GET
        1842  +
/example%20space/
 1928   1843   
 1929         -
content-type:application/x-www-form-urlencoded; charset=utf-8
 1930   1844   
host:example.amazonaws.com
 1931   1845   
x-amz-date:20150830T123600Z
 1932   1846   
 1933   1847   
host;x-amz-date
 1934   1848   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1935   1849   
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
 1936   1850   
new file mode 100644
 1937   1851   
index 0000000..f63892b
 1938         -
-- /dev/null
        1852  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signature.txt
 1939   1853   
@@ -0,0 +1 @@
        1854  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1940   1855   
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
 1941   1856   
new file mode 100644
 1942   1857   
index 0000000..19cd5cb
 1943         -
-- /dev/null
        1858  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signed-request.txt
 1944   1859   
@@ -0,0 +1,5 @@
        1860  +
GET /example space/ HTTP/1.1
        1861  +
Host:example.amazonaws.com
        1862  +
X-Amz-Date:20150830T123600Z
        1863  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1864  +
 1945   1865   
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
 1946   1866   
new file mode 100644
 1947   1867   
index 0000000..a633f0c
 1948         -
-- /dev/null
        1868  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-string-to-sign.txt
 1949   1869   
@@ -0,0 +1,4 @@
        1870  +
AWS4-HMAC-SHA256
        1871  +
20150830T123600Z
        1872  +
20150830/us-east-1/service/aws4_request
        1873  +
63ee75631ed7234ae61b5f736dfc7754cdccfedbff4b5128a915706ee9390d86
              \
 No newline at end of file
 1950   1874   
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
 1951   1875   
new file mode 100644
 1952   1876   
index 0000000..fa3d3e2
 1953         -
-- /dev/null
        1877  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-canonical-request.txt
 1954   1878   
@@ -0,0 +1,7 @@
        1879  +
GET
        1880  +
/example%20space/
        1881  +
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
        1882  +
host:example.amazonaws.com
        1883  +
        1884  +
host
        1885  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1955   1886   
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
 1956   1887   
new file mode 100644
 1957   1888   
index 0000000..5b2e204
 1958         -
-- /dev/null
        1889  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signature.txt
 1959   1890   
@@ -0,0 +1 @@
        1891  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 1960   1892   
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
 1961   1893   
new file mode 100644
 1962   1894   
index 0000000..93ca1d0
 1963         -
-- /dev/null
        1895  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signed-request.txt
 1964   1896   
@@ -0,0 +1,3 @@
        1897  +
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
        1898  +
Host:example.amazonaws.com
        1899  +
 1965   1900   
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
 1966   1901   
new file mode 100644
 1967   1902   
index 0000000..b4cb789
 1968         -
-- /dev/null
        1903  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-string-to-sign.txt
 1969   1904   
@@ -0,0 +1,4 @@
        1905  +
AWS4-HMAC-SHA256
        1906  +
20150830T123600Z
        1907  +
20150830/us-east-1/service/aws4_request
        1908  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 1970   1909   
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
 1971   1910   
similarity index 67%
 1972   1911   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
 1973   1912   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 1974   1913   
index b7d5e8b..ab509ab 100644
 1975         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
        1914  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 1976   1915   
@@ -1,3 +1,2 @@
 1977   1916   
GET /example space/ HTTP/1.1
 1978   1917   
Host:example.amazonaws.com
 1979         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1980   1918   
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
 1981   1919   
new file mode 100644
 1982   1920   
index 0000000..0468d80
 1983         -
-- /dev/null
        1921  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/context.json
 1984   1922   
@@ -0,0 +1,12 @@
        1923  +
{
        1924  +
    "credentials": {
        1925  +
        "access_key_id": "AKIDEXAMPLE",
        1926  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1927  +
    },
        1928  +
    "expiration_in_seconds": 3600,
        1929  +
    "normalize": true,
        1930  +
    "region": "us-east-1",
        1931  +
    "service": "service",
        1932  +
    "sign_body": false,
        1933  +
    "timestamp": "2015-08-30T12:36:00Z"
        1934  +
}
              \
 No newline at end of file
 1985   1935   
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
 1986   1936   
similarity index 100%
 1987   1937   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.creq
 1988   1938   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-canonical-request.txt
 1989   1939   
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
 1990   1940   
new file mode 100644
 1991   1941   
index 0000000..e503354
 1992         -
-- /dev/null
        1942  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signature.txt
 1993   1943   
@@ -0,0 +1 @@
        1944  +
07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
              \
 No newline at end of file
 1994   1945   
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
 1995   1946   
new file mode 100644
 1996   1947   
index 0000000..4367892
 1997         -
-- /dev/null
        1948  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signed-request.txt
 1998   1949   
@@ -0,0 +1,5 @@
        1950  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        1951  +
Host:example.amazonaws.com
        1952  +
X-Amz-Date:20150830T123600Z
        1953  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
        1954  +
 1999   1955   
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
 2000   1956   
similarity index 100%
 2001   1957   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sts
 2002   1958   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-string-to-sign.txt
 2003   1959   
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
 2004   1960   
new file mode 100644
 2005   1961   
index 0000000..d7f0696
 2006         -
-- /dev/null
        1962  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-canonical-request.txt
 2007   1963   
@@ -0,0 +1,7 @@
        1964  +
GET
        1965  +
/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
        1966  +
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
        1967  +
host:example.amazonaws.com
        1968  +
        1969  +
host
        1970  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2008   1971   
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
 2009   1972   
new file mode 100644
 2010   1973   
index 0000000..509e972
 2011         -
-- /dev/null
        1974  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signature.txt
 2012   1975   
@@ -0,0 +1 @@
        1976  +
95968482db1b9e0fadef6efc1bd24689f77c77d9ef56919c96a28cc92e0d6005
              \
 No newline at end of file
 2013   1977   
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
 2014   1978   
new file mode 100644
 2015   1979   
index 0000000..79aad36
 2016         -
-- /dev/null
        1980  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signed-request.txt
 2017   1981   
@@ -0,0 +1,3 @@
        1982  +
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
        1983  +
Host:example.amazonaws.com
        1984  +
 2018   1985   
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
 2019   1986   
new file mode 100644
 2020   1987   
index 0000000..e8068b3
 2021         -
-- /dev/null
        1988  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-string-to-sign.txt
 2022   1989   
@@ -0,0 +1,4 @@
        1990  +
AWS4-HMAC-SHA256
        1991  +
20150830T123600Z
        1992  +
20150830/us-east-1/service/aws4_request
        1993  +
3134f2fbc6ef58f34b74b01643a159bfccbc121ea4288a4b75e65bc805d08219
              \
 No newline at end of file
 2023   1994   
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
 2024   1995   
similarity index 100%
 2025   1996   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/request.txt
 2026   1997   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/request.txt
 2027   1998   
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
 2028   1999   
new file mode 100644
 2029   2000   
index 0000000..0468d80
 2030         -
-- /dev/null
        2001  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/context.json
 2031   2002   
@@ -0,0 +1,12 @@
        2003  +
{
        2004  +
    "credentials": {
        2005  +
        "access_key_id": "AKIDEXAMPLE",
        2006  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2007  +
    },
        2008  +
    "expiration_in_seconds": 3600,
        2009  +
    "normalize": true,
        2010  +
    "region": "us-east-1",
        2011  +
    "service": "service",
        2012  +
    "sign_body": false,
        2013  +
    "timestamp": "2015-08-30T12:36:00Z"
        2014  +
}
              \
 No newline at end of file
 2032   2015   
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
 2033   2016   
similarity index 100%
 2034   2017   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.creq
 2035   2018   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-canonical-request.txt
 2036   2019   
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
 2037   2020   
new file mode 100644
 2038   2021   
index 0000000..9a13676
 2039         -
-- /dev/null
        2022  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signature.txt
 2040   2023   
@@ -0,0 +1 @@
        2024  +
8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
              \
 No newline at end of file
 2041   2025   
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
 2042   2026   
new file mode 100644
 2043   2027   
index 0000000..5aaf47c
 2044         -
-- /dev/null
        2028  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signed-request.txt
 2045   2029   
@@ -0,0 +1,5 @@
        2030  +
GET /ሴ HTTP/1.1
        2031  +
Host:example.amazonaws.com
        2032  +
X-Amz-Date:20150830T123600Z
        2033  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
        2034  +
 2046   2035   
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
 2047   2036   
similarity index 100%
 2048   2037   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sts
 2049   2038   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-string-to-sign.txt
 2050   2039   
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
 2051   2040   
new file mode 100644
 2052   2041   
index 0000000..bdb77c9
 2053         -
-- /dev/null
        2042  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-canonical-request.txt
 2054   2043   
@@ -0,0 +1,7 @@
        2044  +
GET
        2045  +
/%E1%88%B4
        2046  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        2047  +
host:example.amazonaws.com
        2048  +
        2049  +
host
        2050  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2055   2051   
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
 2056   2052   
new file mode 100644
 2057   2053   
index 0000000..21342b3
 2058         -
-- /dev/null
        2054  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signature.txt
 2059   2055   
@@ -0,0 +1 @@
        2056  +
10eae3f14a260bd3911cc6d008d3c576d143b05b62f09782a7a4b37f52178e44
              \
 No newline at end of file
 2060   2057   
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
 2061   2058   
new file mode 100644
 2062   2059   
index 0000000..368c2ff
 2063         -
-- /dev/null
        2060  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signed-request.txt
 2064   2061   
@@ -0,0 +1,3 @@
        2062  +
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
        2063  +
Host:example.amazonaws.com
        2064  +
 2065   2065   
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
 2066   2066   
new file mode 100644
 2067   2067   
index 0000000..56b8fbf
 2068         -
-- /dev/null
        2068  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-string-to-sign.txt
 2069   2069   
@@ -0,0 +1,4 @@
        2070  +
AWS4-HMAC-SHA256
        2071  +
20150830T123600Z
        2072  +
20150830/us-east-1/service/aws4_request
        2073  +
d8f78e05d0d9bb1c16ae1e60ed405de76cfb8fdcd3e414ffe65fad563b996d66
              \
 No newline at end of file
 2070   2074   
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
 2071   2075   
similarity index 62%
 2072   2076   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
 2073   2077   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 2074   2078   
index da4808d..9e273f6 100644
 2075         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
        2079  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 2076   2080   
@@ -1,3 +1,2 @@
 2077   2081   
GET /ሴ HTTP/1.1
 2078   2082   
Host:example.amazonaws.com
 2079         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2080   2083   
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
 2081   2084   
new file mode 100644
 2082   2085   
index 0000000..0468d80
 2083         -
-- /dev/null
        2086  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/context.json
 2084   2087   
@@ -0,0 +1,12 @@
        2088  +
{
        2089  +
    "credentials": {
        2090  +
        "access_key_id": "AKIDEXAMPLE",
        2091  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2092  +
    },
        2093  +
    "expiration_in_seconds": 3600,
        2094  +
    "normalize": true,
        2095  +
    "region": "us-east-1",
        2096  +
    "service": "service",
        2097  +
    "sign_body": false,
        2098  +
    "timestamp": "2015-08-30T12:36:00Z"
        2099  +
}
              \
 No newline at end of file
 2085   2100   
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
 2086   2101   
similarity index 100%
 2087   2102   
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
 2088   2103   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-canonical-request.txt
 2089   2104   
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
 2090   2105   
new file mode 100644
 2091   2106   
index 0000000..d7f1c1c
 2092         -
-- /dev/null
        2107  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signature.txt
 2093   2108   
@@ -0,0 +1 @@
        2109  +
a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
              \
 No newline at end of file
 2094   2110   
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
 2095   2111   
new file mode 100644
 2096   2112   
index 0000000..1c60790
 2097         -
-- /dev/null
        2113  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signed-request.txt
 2098   2114   
@@ -0,0 +1,5 @@
        2115  +
GET /?Param1=value1 HTTP/1.1
        2116  +
Host:example.amazonaws.com
        2117  +
X-Amz-Date:20150830T123600Z
        2118  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
        2119  +
 2099   2120   
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
 2100   2121   
similarity index 100%
 2101   2122   
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
 2102   2123   
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
 2103   2124   
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
 2104   2125   
new file mode 100644
 2105   2126   
index 0000000..6a823ed
 2106         -
-- /dev/null
        2127  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-canonical-request.txt
 2107   2128   
@@ -0,0 +1,7 @@
        2129  +
GET
        2130  +
/
        2131  +
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
        2132  +
host:example.amazonaws.com
        2133  +
        2134  +
host
        2135  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2108   2136   
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
 2109   2137   
new file mode 100644
 2110   2138   
index 0000000..8c77136
 2111         -
-- /dev/null
        2139  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signature.txt
 2112   2140   
@@ -0,0 +1 @@
        2141  +
49096700cbbaa5753443850f40df10f904fc2fdb544dc9512203cc77c471a9de
              \
 No newline at end of file
 2113   2142   
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
 2114   2143   
new file mode 100644
 2115   2144   
index 0000000..2d337d8
 2116         -
-- /dev/null
        2145  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signed-request.txt
 2117   2146   
@@ -0,0 +1,3 @@
        2147  +
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
        2148  +
Host:example.amazonaws.com
        2149  +
 2118   2150   
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
 2119   2151   
new file mode 100644
 2120   2152   
index 0000000..191a484
 2121         -
-- /dev/null
        2153  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-string-to-sign.txt
 2122   2154   
@@ -0,0 +1,4 @@
        2155  +
AWS4-HMAC-SHA256
        2156  +
20150830T123600Z
        2157  +
20150830/us-east-1/service/aws4_request
        2158  +
74828b608f939673ed5a839190452a943b0178760f258da766209b21f8ca3f86
              \
 No newline at end of file
 2123   2159   
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
 2124   2160   
similarity index 100%
 2125   2161   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/request.txt
 2126   2162   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/request.txt
 2127   2163   
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
 2128   2164   
new file mode 100644
 2129   2165   
index 0000000..0468d80
 2130         -
-- /dev/null
        2166  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/context.json
 2131   2167   
@@ -0,0 +1,12 @@
        2168  +
{
        2169  +
    "credentials": {
        2170  +
        "access_key_id": "AKIDEXAMPLE",
        2171  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2172  +
    },
        2173  +
    "expiration_in_seconds": 3600,
        2174  +
    "normalize": true,
        2175  +
    "region": "us-east-1",
        2176  +
    "service": "service",
        2177  +
    "sign_body": false,
        2178  +
    "timestamp": "2015-08-30T12:36:00Z"
        2179  +
}
              \
 No newline at end of file
 2132   2180   
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
 2133   2181   
new file mode 100644
 2134   2182   
index 0000000..0c8ba21
 2135         -
-- /dev/null
        2183  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-canonical-request.txt
 2136   2184   
@@ -0,0 +1,8 @@
        2185  +
GET
        2186  +
/
        2187  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        2188  +
host:example.amazonaws.com
        2189  +
x-amz-date:20150830T123600Z
        2190  +
        2191  +
host;x-amz-date
        2192  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2137   2193   
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
 2138   2194   
new file mode 100644
 2139   2195   
index 0000000..9ab65ed
 2140         -
-- /dev/null
        2196  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signature.txt
 2141   2197   
@@ -0,0 +1 @@
        2198  +
371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
              \
 No newline at end of file
 2142   2199   
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
 2143   2200   
new file mode 100644
 2144   2201   
index 0000000..0bcdf98
 2145         -
-- /dev/null
        2202  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signed-request.txt
 2146   2203   
@@ -0,0 +1,5 @@
        2204  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2205  +
Host:example.amazonaws.com
        2206  +
X-Amz-Date:20150830T123600Z
        2207  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
        2208  +
 2147   2209   
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
 2148   2210   
new file mode 100644
 2149   2211   
index 0000000..bf674ad
 2150         -
-- /dev/null
        2212  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-string-to-sign.txt
 2151   2213   
@@ -0,0 +1,4 @@
        2214  +
AWS4-HMAC-SHA256
        2215  +
20150830T123600Z
        2216  +
20150830/us-east-1/service/aws4_request
        2217  +
868294f5c38bd141c4972a373a76654f1418a8e4fc18b2e7903ae45e8ae0ec71
              \
 No newline at end of file
 2152   2218   
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
 2153   2219   
new file mode 100644
 2154   2220   
index 0000000..3f590a4
 2155         -
-- /dev/null
        2221  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-canonical-request.txt
 2156   2222   
@@ -0,0 +1,7 @@
        2223  +
GET
        2224  +
/
        2225  +
%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
        2226  +
host:example.amazonaws.com
        2227  +
        2228  +
host
        2229  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2157   2230   
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
 2158   2231   
new file mode 100644
 2159   2232   
index 0000000..e225eab
 2160         -
-- /dev/null
        2233  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signature.txt
 2161   2234   
@@ -0,0 +1 @@
        2235  +
c5f1848ceec943ac2ca68ee720460c23aaae30a2300586597ada94c4a65e4787
              \
 No newline at end of file
 2162   2236   
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
 2163   2237   
new file mode 100644
 2164   2238   
index 0000000..6206719
 2165         -
-- /dev/null
        2239  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signed-request.txt
 2166   2240   
@@ -0,0 +1,3 @@
        2241  +
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
        2242  +
Host:example.amazonaws.com
        2243  +
 2167   2244   
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
 2168   2245   
new file mode 100644
 2169   2246   
index 0000000..81a4210
 2170         -
-- /dev/null
        2247  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-string-to-sign.txt
 2171   2248   
@@ -0,0 +1,4 @@
        2249  +
AWS4-HMAC-SHA256
        2250  +
20150830T123600Z
        2251  +
20150830/us-east-1/service/aws4_request
        2252  +
9808d6cdc8245c74e705c68350fc6a62b91778cdd613890e5d177998c02c6f53
              \
 No newline at end of file
 2172   2253   
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
 2173   2254   
new file mode 100644
 2174   2255   
index 0000000..368c6e3
 2175         -
-- /dev/null
        2256  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/request.txt
 2176   2257   
@@ -0,0 +1,2 @@
        2258  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2259  +
Host:example.amazonaws.com
 2177   2260   
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
 2178   2261   
new file mode 100644
 2179   2262   
index 0000000..0468d80
 2180         -
-- /dev/null
        2263  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/context.json
 2181   2264   
@@ -0,0 +1,12 @@
        2265  +
{
        2266  +
    "credentials": {
        2267  +
        "access_key_id": "AKIDEXAMPLE",
        2268  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2269  +
    },
        2270  +
    "expiration_in_seconds": 3600,
        2271  +
    "normalize": true,
        2272  +
    "region": "us-east-1",
        2273  +
    "service": "service",
        2274  +
    "sign_body": false,
        2275  +
    "timestamp": "2015-08-30T12:36:00Z"
        2276  +
}
              \
 No newline at end of file
 2182   2277   
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
 2183   2278   
similarity index 100%
 2184   2279   
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
 2185   2280   
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
 2186   2281   
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
 2187   2282   
new file mode 100644
 2188   2283   
index 0000000..6a8cb9d
 2189         -
-- /dev/null
        2284  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signature.txt
 2190   2285   
@@ -0,0 +1 @@
        2286  +
b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
              \
 No newline at end of file
 2191   2287   
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
 2192   2288   
new file mode 100644
 2193   2289   
index 0000000..f78a9d2
 2194         -
-- /dev/null
        2290  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signed-request.txt
 2195   2291   
@@ -0,0 +1,5 @@
        2292  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        2293  +
Host:example.amazonaws.com
        2294  +
X-Amz-Date:20150830T123600Z
        2295  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
        2296  +
 2196   2297   
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
 2197   2298   
similarity index 100%
 2198   2299   
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
 2199   2300   
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
 2200   2301   
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
 2201   2302   
new file mode 100644
 2202   2303   
index 0000000..a6e1bc7
 2203         -
-- /dev/null
        2304  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-canonical-request.txt
 2204   2305   
@@ -0,0 +1,7 @@
        2306  +
GET
        2307  +
/
        2308  +
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
        2309  +
host:example.amazonaws.com
        2310  +
        2311  +
host
        2312  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2205   2313   
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
 2206   2314   
new file mode 100644
 2207   2315   
index 0000000..d6e6a88
 2208         -
-- /dev/null
        2316  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signature.txt
 2209   2317   
@@ -0,0 +1 @@
        2318  +
86012e2c9ad4d77369f5d81c11f75158aae4f895a085212cc6d3f923d300bed5
              \
 No newline at end of file
 2210   2319   
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
 2211   2320   
new file mode 100644
 2212   2321   
index 0000000..538e2f0
 2213         -
-- /dev/null
        2322  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signed-request.txt
 2214   2323   
@@ -0,0 +1,3 @@
        2324  +
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
        2325  +
Host:example.amazonaws.com
        2326  +
 2215   2327   
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
 2216   2328   
new file mode 100644
 2217   2329   
index 0000000..e696085
 2218         -
-- /dev/null
        2330  +
++ 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
 2219   2331   
@@ -0,0 +1,4 @@
        2332  +
AWS4-HMAC-SHA256
        2333  +
20150830T123600Z
        2334  +
20150830/us-east-1/service/aws4_request
        2335  +
b82878ecb2ab7ad194b9fe79b2946c2a36ee1627a219408089b2d774c1a0cedb
              \
 No newline at end of file
 2220   2336   
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
 2221   2337   
similarity index 100%
 2222   2338   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/request.txt
 2223   2339   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/request.txt
 2224   2340   
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
 2225   2341   
new file mode 100644
 2226   2342   
index 0000000..0468d80
 2227         -
-- /dev/null
        2343  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/context.json
 2228   2344   
@@ -0,0 +1,12 @@
        2345  +
{
        2346  +
    "credentials": {
        2347  +
        "access_key_id": "AKIDEXAMPLE",
        2348  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2349  +
    },
        2350  +
    "expiration_in_seconds": 3600,
        2351  +
    "normalize": true,
        2352  +
    "region": "us-east-1",
        2353  +
    "service": "service",
        2354  +
    "sign_body": false,
        2355  +
    "timestamp": "2015-08-30T12:36:00Z"
        2356  +
}
              \
 No newline at end of file
 2229   2357   
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
 2230   2358   
similarity index 100%
 2231   2359   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq
 2232   2360   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-canonical-request.txt
 2233   2361   
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
 2234   2362   
new file mode 100644
 2235   2363   
index 0000000..876a64b
 2236         -
-- /dev/null
        2364  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signature.txt
 2237   2365   
@@ -0,0 +1 @@
        2366  +
9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
              \
 No newline at end of file
 2238   2367   
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
 2239   2368   
similarity index 50%
 2240   2369   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
 2241   2370   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2242   2371   
index ba1ef40..9d0d993 100644
 2243         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
        2372  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2244   2373   
@@ -1,4 +1,5 @@
 2245   2374   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 2246   2375   
Host:example.amazonaws.com
 2247   2376   
X-Amz-Date:20150830T123600Z
 2248         -
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
        2377  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
        2378  +
 2249   2379   
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
 2250   2380   
similarity index 100%
 2251   2381   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sts
 2252   2382   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-string-to-sign.txt
 2253   2383   
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
 2254   2384   
new file mode 100644
 2255   2385   
index 0000000..a1bac59
 2256         -
-- /dev/null
        2386  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-canonical-request.txt
 2257   2387   
@@ -0,0 +1,7 @@
        2388  +
GET
        2389  +
/
        2390  +
-._~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
        2391  +
host:example.amazonaws.com
        2392  +
        2393  +
host
        2394  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2258   2395   
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
 2259   2396   
new file mode 100644
 2260   2397   
index 0000000..41881e9
 2261         -
-- /dev/null
        2398  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signature.txt
 2262   2399   
@@ -0,0 +1 @@
        2400  +
8e76a88a7433637b12778d5592799b29ad21ecd6cf6325051c21d86f0acda2bf
              \
 No newline at end of file
 2263   2401   
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
 2264   2402   
new file mode 100644
 2265   2403   
index 0000000..3179076
 2266         -
-- /dev/null
        2404  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signed-request.txt
 2267   2405   
@@ -0,0 +1,3 @@
        2406  +
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
        2407  +
Host:example.amazonaws.com
        2408  +
 2268   2409   
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
 2269   2410   
new file mode 100644
 2270   2411   
index 0000000..6d675fc
 2271         -
-- /dev/null
        2412  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-string-to-sign.txt
 2272   2413   
@@ -0,0 +1,4 @@
        2414  +
AWS4-HMAC-SHA256
        2415  +
20150830T123600Z
        2416  +
20150830/us-east-1/service/aws4_request
        2417  +
c77f27ef2b499fbfee3f0b3c88bba7057b2b31ee9b62047078a5e0d6be91fd58
              \
 No newline at end of file
 2273   2418   
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
 2274   2419   
similarity index 100%
 2275   2420   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/request.txt
 2276   2421   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/request.txt
 2277   2422   
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
 2278   2423   
new file mode 100644
 2279   2424   
index 0000000..0468d80
 2280         -
-- /dev/null
        2425  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/context.json
 2281   2426   
@@ -0,0 +1,12 @@
        2427  +
{
        2428  +
    "credentials": {
        2429  +
        "access_key_id": "AKIDEXAMPLE",
        2430  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2431  +
    },
        2432  +
    "expiration_in_seconds": 3600,
        2433  +
    "normalize": true,
        2434  +
    "region": "us-east-1",
        2435  +
    "service": "service",
        2436  +
    "sign_body": false,
        2437  +
    "timestamp": "2015-08-30T12:36:00Z"
        2438  +
}
              \
 No newline at end of file
 2282   2439   
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
 2283   2440   
similarity index 100%
 2284   2441   
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
 2285   2442   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-canonical-request.txt
 2286   2443   
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
 2287   2444   
new file mode 100644
 2288   2445   
index 0000000..87f295f
 2289         -
-- /dev/null
        2446  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signature.txt
 2290   2447   
@@ -0,0 +1 @@
        2448  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2291   2449   
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
 2292   2450   
new file mode 100644
 2293   2451   
index 0000000..36b86e7
 2294         -
-- /dev/null
        2452  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signed-request.txt
 2295   2453   
@@ -0,0 +1,5 @@
        2454  +
GET / HTTP/1.1
        2455  +
Host:example.amazonaws.com
        2456  +
X-Amz-Date:20150830T123600Z
        2457  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2458  +
 2296   2459   
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
 2297   2460   
similarity index 100%
 2298   2461   
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
 2299   2462   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-string-to-sign.txt
 2300   2463   
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
 2301   2464   
new file mode 100644
 2302   2465   
index 0000000..fb2420d
 2303         -
-- /dev/null
        2466  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-canonical-request.txt
 2304   2467   
@@ -0,0 +1,7 @@
        2468  +
GET
        2469  +
/
        2470  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        2471  +
host:example.amazonaws.com
        2472  +
        2473  +
host
        2474  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2305   2475   
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
 2306   2476   
new file mode 100644
 2307   2477   
index 0000000..da5c905
 2308         -
-- /dev/null
        2478  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signature.txt
 2309   2479   
@@ -0,0 +1 @@
        2480  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2310   2481   
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
 2311   2482   
new file mode 100644
 2312   2483   
index 0000000..eeb7a8f
 2313         -
-- /dev/null
        2484  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signed-request.txt
 2314   2485   
@@ -0,0 +1,3 @@
        2486  +
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
        2487  +
Host:example.amazonaws.com
        2488  +
 2315   2489   
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
 2316   2490   
new file mode 100644
 2317   2491   
index 0000000..d837e67
 2318         -
-- /dev/null
        2492  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-string-to-sign.txt
 2319   2493   
@@ -0,0 +1,4 @@
        2494  +
AWS4-HMAC-SHA256
        2495  +
20150830T123600Z
        2496  +
20150830/us-east-1/service/aws4_request
        2497  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2320   2498   
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
 2321   2499   
similarity index 100%
 2322   2500   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/request.txt
 2323   2501   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/request.txt
 2324   2502   
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
 2325   2503   
new file mode 100644
 2326   2504   
index 0000000..0468d80
 2327         -
-- /dev/null
        2505  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/context.json
 2328   2506   
@@ -0,0 +1,12 @@
        2507  +
{
        2508  +
    "credentials": {
        2509  +
        "access_key_id": "AKIDEXAMPLE",
        2510  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2511  +
    },
        2512  +
    "expiration_in_seconds": 3600,
        2513  +
    "normalize": true,
        2514  +
    "region": "us-east-1",
        2515  +
    "service": "service",
        2516  +
    "sign_body": false,
        2517  +
    "timestamp": "2015-08-30T12:36:00Z"
        2518  +
}
              \
 No newline at end of file
 2329   2519   
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
 2330   2520   
similarity index 100%
 2331   2521   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq
 2332   2522   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-canonical-request.txt
 2333   2523   
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
 2334   2524   
new file mode 100644
 2335   2525   
index 0000000..19a2cc9
 2336         -
-- /dev/null
        2526  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signature.txt
 2337   2527   
@@ -0,0 +1 @@
        2528  +
2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
              \
 No newline at end of file
 2338   2529   
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
 2339   2530   
new file mode 100644
 2340   2531   
index 0000000..acb13ee
 2341         -
-- /dev/null
        2532  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signed-request.txt
 2342   2533   
@@ -0,0 +1,5 @@
        2534  +
GET /?ሴ=bar HTTP/1.1
        2535  +
Host:example.amazonaws.com
        2536  +
X-Amz-Date:20150830T123600Z
        2537  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
        2538  +
 2343   2539   
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
 2344   2540   
similarity index 100%
 2345   2541   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sts
 2346   2542   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-string-to-sign.txt
 2347   2543   
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
 2348   2544   
new file mode 100644
 2349   2545   
index 0000000..92cee62
 2350         -
-- /dev/null
        2546  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-canonical-request.txt
 2351   2547   
@@ -0,0 +1,7 @@
        2548  +
GET
        2549  +
/
        2550  +
%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
        2551  +
host:example.amazonaws.com
        2552  +
        2553  +
host
        2554  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2352   2555   
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
 2353   2556   
new file mode 100644
 2354   2557   
index 0000000..c9e49de
 2355         -
-- /dev/null
        2558  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signature.txt
 2356   2559   
@@ -0,0 +1 @@
        2560  +
0bdd809b1519ac4f0c1dc3540e2cc46bd0c7f778eda408b2ebf3b913d21ff600
              \
 No newline at end of file
 2357   2561   
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
 2358   2562   
new file mode 100644
 2359   2563   
index 0000000..8f4d8d0
 2360         -
-- /dev/null
        2564  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signed-request.txt
 2361   2565   
@@ -0,0 +1,3 @@
        2566  +
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
        2567  +
Host:example.amazonaws.com
        2568  +
 2362   2569   
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
 2363   2570   
new file mode 100644
 2364   2571   
index 0000000..a6181dc
 2365         -
-- /dev/null
        2572  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-string-to-sign.txt
 2366   2573   
@@ -0,0 +1,4 @@
        2574  +
AWS4-HMAC-SHA256
        2575  +
20150830T123600Z
        2576  +
20150830/us-east-1/service/aws4_request
        2577  +
b2e8ae8e48ec880defebc6f6dc1d9fbc9f1856b33146f2943060ca71a50a7a77
              \
 No newline at end of file
 2367   2578   
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
 2368   2579   
similarity index 64%
 2369   2580   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
 2370   2581   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2371   2582   
index cc2757e..aff333a 100644
 2372         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
        2583  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2373   2584   
@@ -1,3 +1,2 @@
 2374   2585   
GET /?ሴ=bar HTTP/1.1
 2375   2586   
Host:example.amazonaws.com
 2376         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2377   2587   
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
 2378   2588   
similarity index 99%
 2379   2589   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/context.json
 2380   2590   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/context.json
 2381   2591   
index a457c8a..a334e18 100644
 2382   2592   
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
 2383   2593   
new file mode 100644
 2384   2594   
index 0000000..ccacdeb
 2385         -
-- /dev/null
        2595  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-canonical-request.txt
 2386   2596   
@@ -0,0 +1,9 @@
        2597  +
GET
        2598  +
/
        2599  +
        2600  +
host:example.amazonaws.com
        2601  +
x-amz-date:20150830T123600Z
        2602  +
x-amz-security-token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2603  +
        2604  +
host;x-amz-date;x-amz-security-token
        2605  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2387   2606   
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
 2388   2607   
new file mode 100644
 2389   2608   
index 0000000..083e30d
 2390         -
-- /dev/null
        2609  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signature.txt
 2391   2610   
@@ -0,0 +1 @@
        2611  +
07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
              \
 No newline at end of file
 2392   2612   
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
 2393   2613   
new file mode 100644
 2394   2614   
index 0000000..5287932
 2395         -
-- /dev/null
        2615  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signed-request.txt
 2396   2616   
@@ -0,0 +1,6 @@
        2617  +
GET / HTTP/1.1
        2618  +
Host:example.amazonaws.com
        2619  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2620  +
X-Amz-Date:20150830T123600Z
        2621  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
        2622  +
 2397   2623   
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
 2398   2624   
new file mode 100644
 2399   2625   
index 0000000..742b880
 2400         -
-- /dev/null
        2626  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-string-to-sign.txt
 2401   2627   
@@ -0,0 +1,4 @@
        2628  +
AWS4-HMAC-SHA256
        2629  +
20150830T123600Z
        2630  +
20150830/us-east-1/service/aws4_request
        2631  +
067b36aa60031588cea4a4cde1f21215227a047690c72247f1d70b32fbbfad2b
              \
 No newline at end of file
 2402   2632   
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
 2403   2633   
new file mode 100644
 2404   2634   
index 0000000..5e75179
 2405         -
-- /dev/null
        2635  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-canonical-request.txt
 2406   2636   
@@ -0,0 +1,7 @@
        2637  +
GET
        2638  +
/
        2639  +
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
        2640  +
host:example.amazonaws.com
        2641  +
        2642  +
host
        2643  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2407   2644   
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
 2408   2645   
new file mode 100644
 2409   2646   
index 0000000..50b947f
 2410         -
-- /dev/null
        2647  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signature.txt
 2411   2648   
@@ -0,0 +1 @@
        2649  +
7ff2b50b376cb4d151970630573d6291dc128cc5c2a12ffb237f73cc53f67b6c
              \
 No newline at end of file
 2412   2650   
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
 2413   2651   
new file mode 100644
 2414   2652   
index 0000000..aee910b
 2415         -
-- /dev/null
        2653  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signed-request.txt
 2416   2654   
@@ -0,0 +1,3 @@
        2655  +
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
        2656  +
Host:example.amazonaws.com
        2657  +
 2417   2658   
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
 2418   2659   
new file mode 100644
 2419   2660   
index 0000000..04a6c17
 2420         -
-- /dev/null
        2661  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-string-to-sign.txt
 2421   2662   
@@ -0,0 +1,4 @@
        2663  +
AWS4-HMAC-SHA256
        2664  +
20150830T123600Z
        2665  +
20150830/us-east-1/service/aws4_request
        2666  +
cb30434103085aa9e73780fc60dc9a9df818fd2a7b1de12a9f6f4d791f898761
              \
 No newline at end of file
 2422   2667   
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
 2423   2668   
similarity index 100%
 2424   2669   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/request.txt
 2425   2670   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/request.txt
 2426   2671   
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
 2427   2672   
new file mode 100644
 2428   2673   
index 0000000..0468d80
 2429         -
-- /dev/null
        2674  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/context.json
 2430   2675   
@@ -0,0 +1,12 @@
        2676  +
{
        2677  +
    "credentials": {
        2678  +
        "access_key_id": "AKIDEXAMPLE",
        2679  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2680  +
    },
        2681  +
    "expiration_in_seconds": 3600,
        2682  +
    "normalize": true,
        2683  +
    "region": "us-east-1",
        2684  +
    "service": "service",
        2685  +
    "sign_body": false,
        2686  +
    "timestamp": "2015-08-30T12:36:00Z"
        2687  +
}
              \
 No newline at end of file
 2431   2688   
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
 2432   2689   
similarity index 100%
 2433   2690   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.creq
 2434   2691   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-canonical-request.txt
 2435   2692   
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
 2436   2693   
new file mode 100644
 2437   2694   
index 0000000..87f295f
 2438         -
-- /dev/null
        2695  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signature.txt
 2439   2696   
@@ -0,0 +1 @@
        2697  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2440   2698   
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
 2441   2699   
new file mode 100644
 2442   2700   
index 0000000..36b86e7
 2443         -
-- /dev/null
        2701  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signed-request.txt
 2444   2702   
@@ -0,0 +1,5 @@
        2703  +
GET / HTTP/1.1
        2704  +
Host:example.amazonaws.com
        2705  +
X-Amz-Date:20150830T123600Z
        2706  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2707  +
 2445   2708   
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
 2446   2709   
similarity index 100%
 2447   2710   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sts
 2448   2711   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-string-to-sign.txt
 2449   2712   
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
 2450   2713   
new file mode 100644
 2451   2714   
index 0000000..fb2420d
 2452         -
-- /dev/null
        2715  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-canonical-request.txt
 2453   2716   
@@ -0,0 +1,7 @@
        2717  +
GET
        2718  +
/
        2719  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        2720  +
host:example.amazonaws.com
        2721  +
        2722  +
host
        2723  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2454   2724   
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
 2455   2725   
new file mode 100644
 2456   2726   
index 0000000..da5c905
 2457         -
-- /dev/null
        2727  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signature.txt
 2458   2728   
@@ -0,0 +1 @@
        2729  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2459   2730   
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
 2460   2731   
new file mode 100644
 2461   2732   
index 0000000..eeb7a8f
 2462         -
-- /dev/null
        2733  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signed-request.txt
 2463   2734   
@@ -0,0 +1,3 @@
        2735  +
GET /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d HTTP/1.1
        2736  +
Host:example.amazonaws.com
        2737  +
 2464   2738   
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
 2465   2739   
new file mode 100644
 2466   2740   
index 0000000..d837e67
 2467         -
-- /dev/null
        2741  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-string-to-sign.txt
 2468   2742   
@@ -0,0 +1,4 @@
        2743  +
AWS4-HMAC-SHA256
        2744  +
20150830T123600Z
        2745  +
20150830/us-east-1/service/aws4_request
        2746  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2469   2747   
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
 2470   2748   
similarity index 100%
 2471   2749   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/request.txt
 2472   2750   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/request.txt
 2473   2751   
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
 2474   2752   
new file mode 100644
 2475   2753   
index 0000000..0468d80
 2476         -
-- /dev/null
        2754  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/context.json
 2477   2755   
@@ -0,0 +1,12 @@
        2756  +
{
        2757  +
    "credentials": {
        2758  +
        "access_key_id": "AKIDEXAMPLE",
        2759  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2760  +
    },
        2761  +
    "expiration_in_seconds": 3600,
        2762  +
    "normalize": true,
        2763  +
    "region": "us-east-1",
        2764  +
    "service": "service",
        2765  +
    "sign_body": false,
        2766  +
    "timestamp": "2015-08-30T12:36:00Z"
        2767  +
}
              \
 No newline at end of file
 2478   2768   
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
 2479   2769   
similarity index 100%
 2480   2770   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.creq
 2481   2771   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-canonical-request.txt
 2482   2772   
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
 2483   2773   
new file mode 100644
 2484   2774   
index 0000000..629487f
 2485         -
-- /dev/null
        2775  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signature.txt
 2486   2776   
@@ -0,0 +1 @@
        2777  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2487   2778   
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
 2488   2779   
new file mode 100644
 2489   2780   
index 0000000..0d99b1c
 2490         -
-- /dev/null
        2781  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signed-request.txt
 2491   2782   
@@ -0,0 +1,5 @@
        2783  +
POST / HTTP/1.1
        2784  +
Host:example.amazonaws.com
        2785  +
X-Amz-Date:20150830T123600Z
        2786  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        2787  +
 2492   2788   
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
 2493   2789   
similarity index 100%
 2494   2790   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sts
 2495   2791   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-string-to-sign.txt
 2496   2792   
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
 2497   2793   
new file mode 100644
 2498   2794   
index 0000000..d3341e7
 2499         -
-- /dev/null
        2795  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-canonical-request.txt
 2500   2796   
@@ -0,0 +1,7 @@
        2797  +
POST
        2798  +
/
        2799  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        2800  +
host:example.amazonaws.com
        2801  +
        2802  +
host
        2803  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2501   2804   
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
 2502   2805   
new file mode 100644
 2503   2806   
index 0000000..79f7e0d
 2504         -
-- /dev/null
        2807  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signature.txt
 2505   2808   
@@ -0,0 +1 @@
        2809  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2506   2810   
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
 2507   2811   
new file mode 100644
 2508   2812   
index 0000000..94f1b21
 2509         -
-- /dev/null
        2813  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signed-request.txt
 2510   2814   
@@ -0,0 +1,3 @@
        2815  +
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
        2816  +
Host:example.amazonaws.com
        2817  +
 2511   2818   
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
 2512   2819   
new file mode 100644
 2513   2820   
index 0000000..e8f335b
 2514         -
-- /dev/null
        2821  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-string-to-sign.txt
 2515   2822   
@@ -0,0 +1,4 @@
        2823  +
AWS4-HMAC-SHA256
        2824  +
20150830T123600Z
        2825  +
20150830/us-east-1/service/aws4_request
        2826  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2516   2827   
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
 2517   2828   
similarity index 100%
 2518   2829   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/request.txt
 2519   2830   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/request.txt
 2520   2831   
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
 2521   2832   
new file mode 100644
 2522   2833   
index 0000000..0468d80
 2523         -
-- /dev/null
        2834  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/context.json
 2524   2835   
@@ -0,0 +1,12 @@
        2836  +
{
        2837  +
    "credentials": {
        2838  +
        "access_key_id": "AKIDEXAMPLE",
        2839  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2840  +
    },
        2841  +
    "expiration_in_seconds": 3600,
        2842  +
    "normalize": true,
        2843  +
    "region": "us-east-1",
        2844  +
    "service": "service",
        2845  +
    "sign_body": false,
        2846  +
    "timestamp": "2015-08-30T12:36:00Z"
        2847  +
}
              \
 No newline at end of file
 2525   2848   
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
 2526   2849   
similarity index 100%
 2527   2850   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.creq
 2528   2851   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-canonical-request.txt
 2529   2852   
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
 2530   2853   
new file mode 100644
 2531   2854   
index 0000000..e4e6428
 2532         -
-- /dev/null
        2855  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signature.txt
 2533   2856   
@@ -0,0 +1 @@
        2857  +
c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
              \
 No newline at end of file
 2534   2858   
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
 2535   2859   
new file mode 100644
 2536   2860   
index 0000000..e3778f5
 2537         -
-- /dev/null
        2861  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signed-request.txt
 2538   2862   
@@ -0,0 +1,6 @@
        2863  +
POST / HTTP/1.1
        2864  +
Host:example.amazonaws.com
        2865  +
My-Header1:value1
        2866  +
X-Amz-Date:20150830T123600Z
        2867  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
        2868  +
 2539   2869   
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
 2540   2870   
similarity index 100%
 2541   2871   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sts
 2542   2872   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-string-to-sign.txt
 2543   2873   
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
 2544   2874   
new file mode 100644
 2545   2875   
index 0000000..bd7c937
 2546         -
-- /dev/null
        2876  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-canonical-request.txt
 2547   2877   
@@ -0,0 +1,8 @@
        2878  +
POST
        2879  +
/
        2880  +
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
        2881  +
host:example.amazonaws.com
        2882  +
my-header1:value1
        2883  +
        2884  +
host;my-header1
        2885  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2548   2886   
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
 2549   2887   
new file mode 100644
 2550   2888   
index 0000000..0416f13
 2551         -
-- /dev/null
        2889  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signature.txt
 2552   2890   
@@ -0,0 +1 @@
        2891  +
c09d07e0d55871f10f2a6d350d994acf6825a3cae70673d7def55616e6119dd7
              \
 No newline at end of file
 2553   2892   
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
 2554   2893   
new file mode 100644
 2555   2894   
index 0000000..5e6522f
 2556         -
-- /dev/null
        2895  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signed-request.txt
 2557   2896   
@@ -0,0 +1,4 @@
        2897  +
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
        2898  +
Host:example.amazonaws.com
        2899  +
My-Header1:value1
        2900  +
 2558   2901   
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
 2559   2902   
new file mode 100644
 2560   2903   
index 0000000..d06d1df
 2561         -
-- /dev/null
        2904  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-string-to-sign.txt
 2562   2905   
@@ -0,0 +1,4 @@
        2906  +
AWS4-HMAC-SHA256
        2907  +
20150830T123600Z
        2908  +
20150830/us-east-1/service/aws4_request
        2909  +
1295ed77e4ef8b18b32815e493e0b0f78ee47615c0ecbebfec7c75709eb58c88
              \
 No newline at end of file
 2563   2910   
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
 2564   2911   
similarity index 100%
 2565   2912   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/request.txt
 2566   2913   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/request.txt
 2567   2914   
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
 2568   2915   
new file mode 100644
 2569   2916   
index 0000000..0468d80
 2570         -
-- /dev/null
        2917  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/context.json
 2571   2918   
@@ -0,0 +1,12 @@
        2919  +
{
        2920  +
    "credentials": {
        2921  +
        "access_key_id": "AKIDEXAMPLE",
        2922  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2923  +
    },
        2924  +
    "expiration_in_seconds": 3600,
        2925  +
    "normalize": true,
        2926  +
    "region": "us-east-1",
        2927  +
    "service": "service",
        2928  +
    "sign_body": false,
        2929  +
    "timestamp": "2015-08-30T12:36:00Z"
        2930  +
}
              \
 No newline at end of file
 2572   2931   
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
 2573   2932   
similarity index 100%
 2574   2933   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.creq
 2575   2934   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-canonical-request.txt
 2576   2935   
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
 2577   2936   
new file mode 100644
 2578   2937   
index 0000000..bb3809c
 2579         -
-- /dev/null
        2938  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signature.txt
 2580   2939   
@@ -0,0 +1 @@
        2940  +
cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
              \
 No newline at end of file
 2581   2941   
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
 2582   2942   
new file mode 100644
 2583   2943   
index 0000000..10f6761
 2584         -
-- /dev/null
        2944  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signed-request.txt
 2585   2945   
@@ -0,0 +1,6 @@
        2946  +
POST / HTTP/1.1
        2947  +
Host:example.amazonaws.com
        2948  +
My-Header1:VALUE1
        2949  +
X-Amz-Date:20150830T123600Z
        2950  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
        2951  +
 2586   2952   
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
 2587   2953   
similarity index 100%
 2588   2954   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sts
 2589   2955   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-string-to-sign.txt
 2590   2956   
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
 2591   2957   
new file mode 100644
 2592   2958   
index 0000000..f84856f
 2593         -
-- /dev/null
        2959  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-canonical-request.txt
 2594   2960   
@@ -0,0 +1,8 @@
        2961  +
POST
        2962  +
/
        2963  +
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
        2964  +
host:example.amazonaws.com
        2965  +
my-header1:VALUE1
        2966  +
        2967  +
host;my-header1
        2968  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2595   2969   
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
 2596   2970   
new file mode 100644
 2597   2971   
index 0000000..a9d3cac
 2598         -
-- /dev/null
        2972  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signature.txt
 2599   2973   
@@ -0,0 +1 @@
        2974  +
0698bc9e4f7f9139065ba2909c0e99da257e8e2a42492a097bcd46d792391fed
              \
 No newline at end of file
 2600   2975   
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
 2601   2976   
new file mode 100644
 2602   2977   
index 0000000..cf96c7c
 2603         -
-- /dev/null
        2978  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signed-request.txt
 2604   2979   
@@ -0,0 +1,4 @@
        2980  +
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
        2981  +
Host:example.amazonaws.com
        2982  +
My-Header1:VALUE1
        2983  +
 2605   2984   
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
 2606   2985   
new file mode 100644
 2607   2986   
index 0000000..47ef566
 2608         -
-- /dev/null
        2987  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-string-to-sign.txt
 2609   2988   
@@ -0,0 +1,4 @@
        2989  +
AWS4-HMAC-SHA256
        2990  +
20150830T123600Z
        2991  +
20150830/us-east-1/service/aws4_request
        2992  +
9d4d1de88f0149695a91a01275fc72dc00fb50bdc78e424f012ec860d5f8c41d
              \
 No newline at end of file
 2610   2993   
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
 2611   2994   
similarity index 100%
 2612   2995   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/request.txt
 2613   2996   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/request.txt
 2614   2997   
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
 2615   2998   
similarity index 100%
 2616   2999   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/context.json
 2617   3000   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/context.json
 2618   3001   
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
 2619   3002   
similarity index 100%
 2620   3003   
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
 2621   3004   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-canonical-request.txt
 2622   3005   
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
 2623   3006   
new file mode 100644
 2624   3007   
index 0000000..629487f
 2625         -
-- /dev/null
        3008  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signature.txt
 2626   3009   
@@ -0,0 +1 @@
        3010  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2627   3011   
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
 2628   3012   
similarity index 67%
 2629   3013   
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
 2630   3014   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2631   3015   
index 291ed07..f96ff9e 100644
 2632         -
-- 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
        3016  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2633   3017   
@@ -1,5 +1,6 @@
 2634   3018   
POST / HTTP/1.1
 2635   3019   
Host:example.amazonaws.com
 2636         -
X-Amz-Date:20150830T123600Z
 2637   3020   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2638         -
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
        3021  +
X-Amz-Date:20150830T123600Z
        3022  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        3023  +
 2639   3024   
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
 2640   3025   
similarity index 100%
 2641   3026   
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
 2642   3027   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-string-to-sign.txt
 2643   3028   
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
 2644   3029   
new file mode 100644
 2645   3030   
index 0000000..d3341e7
 2646         -
-- /dev/null
        3031  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-canonical-request.txt
 2647   3032   
@@ -0,0 +1,7 @@
        3033  +
POST
        3034  +
/
        3035  +
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
        3036  +
host:example.amazonaws.com
        3037  +
        3038  +
host
        3039  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2648   3040   
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
 2649   3041   
new file mode 100644
 2650   3042   
index 0000000..79f7e0d
 2651         -
-- /dev/null
        3043  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signature.txt
 2652   3044   
@@ -0,0 +1 @@
        3045  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2653   3046   
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
 2654   3047   
new file mode 100644
 2655   3048   
index 0000000..4983268
 2656         -
-- /dev/null
        3049  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signed-request.txt
 2657   3050   
@@ -0,0 +1,3 @@
        3051  +
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
        3052  +
Host:example.amazonaws.com
        3053  +
 2658   3054   
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
 2659   3055   
new file mode 100644
 2660   3056   
index 0000000..e8f335b
 2661         -
-- /dev/null
        3057  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-string-to-sign.txt
 2662   3058   
@@ -0,0 +1,4 @@
        3059  +
AWS4-HMAC-SHA256
        3060  +
20150830T123600Z
        3061  +
20150830/us-east-1/service/aws4_request
        3062  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2663   3063   
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
 2664   3064   
similarity index 100%
 2665   3065   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/request.txt
 2666   3066   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/request.txt
 2667   3067   
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
 2668   3068   
similarity index 100%
 2669   3069   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/context.json
 2670   3070   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/context.json
 2671   3071   
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
 2672   3072   
similarity index 100%
 2673   3073   
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
 2674   3074   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-canonical-request.txt
 2675   3075   
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
 2676   3076   
new file mode 100644
 2677   3077   
index 0000000..85a7c29
 2678         -
-- /dev/null
        3078  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signature.txt
 2679   3079   
@@ -0,0 +1 @@
        3080  +
85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
              \
 No newline at end of file
 2680   3081   
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
 2681   3082   
similarity index 65%
 2682   3083   
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
 2683   3084   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2684   3085   
index 37b2f04..4d0b143 100644
 2685         -
-- 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
        3086  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2686   3087   
@@ -1,5 +1,6 @@
 2687   3088   
POST / HTTP/1.1
 2688   3089   
Host:example.amazonaws.com
 2689         -
X-Amz-Date:20150830T123600Z
 2690   3090   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2691         -
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
        3091  +
X-Amz-Date:20150830T123600Z
        3092  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
        3093  +
 2692   3094   
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
 2693   3095   
similarity index 100%
 2694   3096   
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
 2695   3097   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-string-to-sign.txt
 2696   3098   
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
 2697   3099   
new file mode 100644
 2698   3100   
index 0000000..57a7bc3
 2699         -
-- /dev/null
        3101  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-canonical-request.txt
 2700   3102   
@@ -0,0 +1,7 @@
        3103  +
POST
        3104  +
/
        3105  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Security-Token=AQoDYXdzEPT%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI%2FqkPpKPi%2FkMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d%2Bxo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz%2BscqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR%2FoLxBA%3D%3D&X-Amz-SignedHeaders=host
        3106  +
host:example.amazonaws.com
        3107  +
        3108  +
host
        3109  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2701   3110   
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
 2702   3111   
new file mode 100644
 2703   3112   
index 0000000..eb905d2
 2704         -
-- /dev/null
        3113  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signature.txt
 2705   3114   
@@ -0,0 +1 @@
        3115  +
46c2e3c63c1dbe7d39f8ada16fe7f001c1f56c5791441565323677f96308871c
              \
 No newline at end of file
 2706   3116   
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
 2707   3117   
new file mode 100644
 2708   3118   
index 0000000..1d80ec0
 2709         -
-- /dev/null
        3119  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signed-request.txt
 2710   3120   
@@ -0,0 +1,3 @@
        3121  +
POST /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Security-Token=AQoDYXdzEPT%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI%2FqkPpKPi%2FkMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d%2Bxo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz%2BscqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR%2FoLxBA%3D%3D&X-Amz-Signature=46c2e3c63c1dbe7d39f8ada16fe7f001c1f56c5791441565323677f96308871c HTTP/1.1
        3122  +
Host:example.amazonaws.com
        3123  +
 2711   3124   
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
 2712   3125   
new file mode 100644
 2713   3126   
index 0000000..bd0239a
 2714         -
-- /dev/null
        3127  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-string-to-sign.txt
 2715   3128   
@@ -0,0 +1,4 @@
        3129  +
AWS4-HMAC-SHA256
        3130  +
20150830T123600Z
        3131  +
20150830/us-east-1/service/aws4_request
        3132  +
37f7ba7a2ec89e8b29a0d637bcc70d8e8d0fdba854ddfc5bc06a12398cfe8605
              \
 No newline at end of file
 2716   3133   
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
 2717   3134   
similarity index 100%
 2718   3135   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/request.txt
 2719   3136   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/request.txt
 2720   3137   
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
 2721   3138   
new file mode 100644
 2722   3139   
index 0000000..0468d80
 2723         -
-- /dev/null
        3140  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/context.json
 2724   3141   
@@ -0,0 +1,12 @@
        3142  +
{
        3143  +
    "credentials": {
        3144  +
        "access_key_id": "AKIDEXAMPLE",
        3145  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3146  +
    },
        3147  +
    "expiration_in_seconds": 3600,
        3148  +
    "normalize": true,
        3149  +
    "region": "us-east-1",
        3150  +
    "service": "service",
        3151  +
    "sign_body": false,
        3152  +
    "timestamp": "2015-08-30T12:36:00Z"
        3153  +
}
              \
 No newline at end of file
 2725   3154   
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
 2726   3155   
similarity index 100%
 2727   3156   
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
 2728   3157   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-canonical-request.txt
 2729   3158   
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
 2730   3159   
new file mode 100644
 2731   3160   
index 0000000..80ed433
 2732         -
-- /dev/null
        3161  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signature.txt
 2733   3162   
@@ -0,0 +1 @@
        3163  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2734   3164   
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
 2735   3165   
new file mode 100644
 2736   3166   
index 0000000..4e614f8
 2737         -
-- /dev/null
        3167  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signed-request.txt
 2738   3168   
@@ -0,0 +1,5 @@
        3169  +
POST /?Param1=value1 HTTP/1.1
        3170  +
Host:example.amazonaws.com
        3171  +
X-Amz-Date:20150830T123600Z
        3172  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3173  +
 2739   3174   
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
 2740   3175   
similarity index 100%
 2741   3176   
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
 2742   3177   
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
 2743   3178   
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
 2744   3179   
new file mode 100644
 2745   3180   
index 0000000..be66403
 2746         -
-- /dev/null
        3181  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-canonical-request.txt
 2747   3182   
@@ -0,0 +1,7 @@
        3183  +
POST
        3184  +
/
        3185  +
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
        3186  +
host:example.amazonaws.com
        3187  +
        3188  +
host
        3189  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2748   3190   
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
 2749   3191   
new file mode 100644
 2750   3192   
index 0000000..20fd32b
 2751         -
-- /dev/null
        3193  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signature.txt
 2752   3194   
@@ -0,0 +1 @@
        3195  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2753   3196   
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
 2754   3197   
new file mode 100644
 2755   3198   
index 0000000..d1148d0
 2756         -
-- /dev/null
        3199  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signed-request.txt
 2757   3200   
@@ -0,0 +1,3 @@
        3201  +
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
        3202  +
Host:example.amazonaws.com
        3203  +
 2758   3204   
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
 2759   3205   
new file mode 100644
 2760   3206   
index 0000000..1a77103
 2761         -
-- /dev/null
        3207  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-string-to-sign.txt
 2762   3208   
@@ -0,0 +1,4 @@
        3209  +
AWS4-HMAC-SHA256
        3210  +
20150830T123600Z
        3211  +
20150830/us-east-1/service/aws4_request
        3212  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2763   3213   
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
 2764   3214   
similarity index 100%
 2765   3215   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/request.txt
 2766   3216   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/request.txt
 2767   3217   
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
 2768   3218   
new file mode 100644
 2769   3219   
index 0000000..0468d80
 2770         -
-- /dev/null
        3220  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/context.json
 2771   3221   
@@ -0,0 +1,12 @@
        3222  +
{
        3223  +
    "credentials": {
        3224  +
        "access_key_id": "AKIDEXAMPLE",
        3225  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3226  +
    },
        3227  +
    "expiration_in_seconds": 3600,
        3228  +
    "normalize": true,
        3229  +
    "region": "us-east-1",
        3230  +
    "service": "service",
        3231  +
    "sign_body": false,
        3232  +
    "timestamp": "2015-08-30T12:36:00Z"
        3233  +
}
              \
 No newline at end of file
 2772   3234   
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
 2773   3235   
similarity index 100%
 2774   3236   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.creq
 2775   3237   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-canonical-request.txt
 2776   3238   
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
 2777   3239   
new file mode 100644
 2778   3240   
index 0000000..80ed433
 2779         -
-- /dev/null
        3241  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signature.txt
 2780   3242   
@@ -0,0 +1 @@
        3243  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2781   3244   
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
 2782   3245   
new file mode 100644
 2783   3246   
index 0000000..4e614f8
 2784         -
-- /dev/null
        3247  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signed-request.txt
 2785   3248   
@@ -0,0 +1,5 @@
        3249  +
POST /?Param1=value1 HTTP/1.1
        3250  +
Host:example.amazonaws.com
        3251  +
X-Amz-Date:20150830T123600Z
        3252  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3253  +
 2786   3254   
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
 2787   3255   
similarity index 100%
 2788   3256   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sts
 2789   3257   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-string-to-sign.txt
 2790   3258   
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
 2791   3259   
new file mode 100644
 2792   3260   
index 0000000..be66403
 2793         -
-- /dev/null
        3261  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-canonical-request.txt
 2794   3262   
@@ -0,0 +1,7 @@
        3263  +
POST
        3264  +
/
        3265  +
Param1=value1&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        3266  +
host:example.amazonaws.com
        3267  +
        3268  +
host
        3269  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2795   3270   
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
 2796   3271   
new file mode 100644
 2797   3272   
index 0000000..20fd32b
 2798         -
-- /dev/null
        3273  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signature.txt
 2799   3274   
@@ -0,0 +1 @@
        3275  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2800   3276   
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
 2801   3277   
new file mode 100644
 2802   3278   
index 0000000..d1148d0
 2803         -
-- /dev/null
        3279  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signed-request.txt
 2804   3280   
@@ -0,0 +1,3 @@
        3281  +
POST /?Param1=value1&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682 HTTP/1.1
        3282  +
Host:example.amazonaws.com
        3283  +
 2805   3284   
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
 2806   3285   
new file mode 100644
 2807   3286   
index 0000000..1a77103
 2808         -
-- /dev/null
        3287  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-string-to-sign.txt
 2809   3288   
@@ -0,0 +1,4 @@
        3289  +
AWS4-HMAC-SHA256
        3290  +
20150830T123600Z
        3291  +
20150830/us-east-1/service/aws4_request
        3292  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2810   3293   
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
 2811   3294   
similarity index 100%
 2812   3295   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/request.txt
 2813   3296   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/request.txt
 2814   3297   
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
 2815   3298   
new file mode 100644
 2816   3299   
index 0000000..0468d80
 2817         -
-- /dev/null
        3300  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/context.json
 2818   3301   
@@ -0,0 +1,12 @@
        3302  +
{
        3303  +
    "credentials": {
        3304  +
        "access_key_id": "AKIDEXAMPLE",
        3305  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3306  +
    },
        3307  +
    "expiration_in_seconds": 3600,
        3308  +
    "normalize": true,
        3309  +
    "region": "us-east-1",
        3310  +
    "service": "service",
        3311  +
    "sign_body": false,
        3312  +
    "timestamp": "2015-08-30T12:36:00Z"
        3313  +
}
              \
 No newline at end of file
 2819   3314   
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
 2820   3315   
similarity index 100%
 2821   3316   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.creq
 2822   3317   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-canonical-request.txt
 2823   3318   
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
 2824   3319   
new file mode 100644
 2825   3320   
index 0000000..629487f
 2826         -
-- /dev/null
        3321  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signature.txt
 2827   3322   
@@ -0,0 +1 @@
        3323  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2828   3324   
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
 2829   3325   
new file mode 100644
 2830   3326   
index 0000000..0d99b1c
 2831         -
-- /dev/null
        3327  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signed-request.txt
 2832   3328   
@@ -0,0 +1,5 @@
        3329  +
POST / HTTP/1.1
        3330  +
Host:example.amazonaws.com
        3331  +
X-Amz-Date:20150830T123600Z
        3332  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        3333  +
 2833   3334   
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
 2834   3335   
similarity index 100%
 2835   3336   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sts
 2836   3337   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-string-to-sign.txt
 2837   3338   
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
 2838   3339   
new file mode 100644
 2839   3340   
index 0000000..d3341e7
 2840         -
-- /dev/null
        3341  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-canonical-request.txt
 2841   3342   
@@ -0,0 +1,7 @@
        3343  +
POST
        3344  +
/
        3345  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        3346  +
host:example.amazonaws.com
        3347  +
        3348  +
host
        3349  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2842   3350   
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
 2843   3351   
new file mode 100644
 2844   3352   
index 0000000..79f7e0d
 2845         -
-- /dev/null
        3353  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signature.txt
 2846   3354   
@@ -0,0 +1 @@
        3355  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2847   3356   
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
 2848   3357   
new file mode 100644
 2849   3358   
index 0000000..94f1b21
 2850         -
-- /dev/null
        3359  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signed-request.txt
 2851   3360   
@@ -0,0 +1,3 @@
        3361  +
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
        3362  +
Host:example.amazonaws.com
        3363  +
 2852   3364   
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
 2853   3365   
new file mode 100644
 2854   3366   
index 0000000..e8f335b
 2855         -
-- /dev/null
        3367  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-string-to-sign.txt
 2856   3368   
@@ -0,0 +1,4 @@
        3369  +
AWS4-HMAC-SHA256
        3370  +
20150830T123600Z
        3371  +
20150830/us-east-1/service/aws4_request
        3372  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2857   3373   
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
 2858   3374   
similarity index 100%
 2859   3375   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/request.txt
 2860   3376   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/request.txt
 2861   3377   
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
 2862   3378   
similarity index 99%
 2863   3379   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/context.json
 2864   3380   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/context.json
 2865   3381   
index fc4bce6..0db1df1 100644
 2866   3382   
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
 2867   3383   
new file mode 100644
 2868   3384   
index 0000000..c218fdf
 2869         -
-- /dev/null
        3385  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 2870   3386   
@@ -0,0 +1,11 @@
        3387  +
POST
        3388  +
/
        3389  +
        3390  +
content-length:13
        3391  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3392  +
host:example.amazonaws.com
        3393  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3394  +
x-amz-date:20150830T123600Z
        3395  +
        3396  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3397  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2871   3398   
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
 2872   3399   
new file mode 100644
 2873   3400   
index 0000000..836aa8b
 2874         -
-- /dev/null
        3401  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signature.txt
 2875   3402   
@@ -0,0 +1 @@
        3403  +
328d1b9eaadca9f5818ef05e8392801e091653bafec24fcab71e7344e7f51422
              \
 No newline at end of file
 2876   3404   
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
 2877   3405   
new file mode 100644
 2878   3406   
index 0000000..9262d53
 2879         -
-- /dev/null
        3407  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 2880   3408   
@@ -0,0 +1,9 @@
        3409  +
POST / HTTP/1.1
        3410  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3411  +
Host:example.amazonaws.com
        3412  +
Content-Length:13
        3413  +
X-Amz-Date:20150830T123600Z
        3414  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3415  +
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
        3416  +
        3417  +
Param1=value1
              \
 No newline at end of file
 2881   3418   
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
 2882   3419   
new file mode 100644
 2883   3420   
index 0000000..ddbdccc
 2884         -
-- /dev/null
        3421  +
++ 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
 2885   3422   
@@ -0,0 +1,4 @@
        3423  +
AWS4-HMAC-SHA256
        3424  +
20150830T123600Z
        3425  +
20150830/us-east-1/service/aws4_request
        3426  +
a89f1a5b53e37702ee6363ce1da3ce8f54386f3c8f352ae652153c2982a0bc4d
              \
 No newline at end of file
 2886   3427   
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
 2887   3428   
new file mode 100644
 2888   3429   
index 0000000..596a579
 2889         -
-- /dev/null
        3430  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 2890   3431   
@@ -0,0 +1,9 @@
        3432  +
POST
        3433  +
/
        3434  +
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
        3435  +
content-length:13
        3436  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3437  +
host:example.amazonaws.com
        3438  +
        3439  +
content-length;content-type;host
        3440  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2891   3441   
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
 2892   3442   
new file mode 100644
 2893   3443   
index 0000000..bc85cd8
 2894         -
-- /dev/null
        3444  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signature.txt
 2895   3445   
@@ -0,0 +1 @@
        3446  +
0dbeb9b026c7b6675f266b8427efec9b4fa8b1f6ef1477d717aea231106eab4d
              \
 No newline at end of file
 2896   3447   
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
 2897   3448   
new file mode 100644
 2898   3449   
index 0000000..16b59e5
 2899         -
-- /dev/null
        3450  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 2900   3451   
@@ -0,0 +1,6 @@
        3452  +
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
        3453  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3454  +
Host:example.amazonaws.com
        3455  +
Content-Length:13
        3456  +
        3457  +
Param1=value1
              \
 No newline at end of file
 2901   3458   
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
 2902   3459   
new file mode 100644
 2903   3460   
index 0000000..50074af
 2904         -
-- /dev/null
        3461  +
++ 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
 2905   3462   
@@ -0,0 +1,4 @@
        3463  +
AWS4-HMAC-SHA256
        3464  +
20150830T123600Z
        3465  +
20150830/us-east-1/service/aws4_request
        3466  +
32192353b8ae6d857fac1c71cda066e6af2d3a3127ea7ac1fee22621ab4f05dc
              \
 No newline at end of file
 2906   3467   
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
 2907   3468   
similarity index 89%
 2908   3469   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/request.txt
 2909   3470   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/request.txt
 2910   3471   
index b711c25..8289eaa 100644
 2911   3472   
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
 2912   3473   
similarity index 99%
 2913   3474   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/context.json
 2914   3475   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/context.json
 2915   3476   
index fc4bce6..0db1df1 100644
 2916   3477   
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
 2917   3478   
new file mode 100644
 2918   3479   
index 0000000..4d116a5
 2919         -
-- /dev/null
        3480  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-canonical-request.txt
 2920   3481   
@@ -0,0 +1,11 @@
        3482  +
POST
        3483  +
/
        3484  +
        3485  +
content-length:13
        3486  +
content-type:application/x-www-form-urlencoded
        3487  +
host:example.amazonaws.com
        3488  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3489  +
x-amz-date:20150830T123600Z
        3490  +
        3491  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3492  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2921   3493   
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
 2922   3494   
new file mode 100644
 2923   3495   
index 0000000..0d2ac37
 2924         -
-- /dev/null
        3496  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signature.txt
 2925   3497   
@@ -0,0 +1 @@
        3498  +
d3875051da38690788ef43de4db0d8f280229d82040bfac253562e56c3f20e0b
              \
 No newline at end of file
 2926   3499   
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
 2927   3500   
new file mode 100644
 2928   3501   
index 0000000..bd5e49c
 2929         -
-- /dev/null
        3502  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signed-request.txt
 2930   3503   
@@ -0,0 +1,9 @@
        3504  +
POST / HTTP/1.1
        3505  +
Content-Type:application/x-www-form-urlencoded
        3506  +
Host:example.amazonaws.com
        3507  +
Content-Length:13
        3508  +
X-Amz-Date:20150830T123600Z
        3509  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3510  +
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
        3511  +
        3512  +
Param1=value1
              \
 No newline at end of file
 2931   3513   
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
 2932   3514   
new file mode 100644
 2933   3515   
index 0000000..f1c599c
 2934         -
-- /dev/null
        3516  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-string-to-sign.txt
 2935   3517   
@@ -0,0 +1,4 @@
        3518  +
AWS4-HMAC-SHA256
        3519  +
20150830T123600Z
        3520  +
20150830/us-east-1/service/aws4_request
        3521  +
b1edd1d03544c25390e32085d55b57acc9a3961bb59415ff86c45c3d89d16cfb
              \
 No newline at end of file
 2936   3522   
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
 2937   3523   
new file mode 100644
 2938   3524   
index 0000000..1fc1bb7
 2939         -
-- /dev/null
        3525  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-canonical-request.txt
 2940   3526   
@@ -0,0 +1,9 @@
        3527  +
POST
        3528  +
/
        3529  +
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
        3530  +
content-length:13
        3531  +
content-type:application/x-www-form-urlencoded
        3532  +
host:example.amazonaws.com
        3533  +
        3534  +
content-length;content-type;host
        3535  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2941   3536   
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
 2942   3537   
new file mode 100644
 2943   3538   
index 0000000..98c91b3
 2944         -
-- /dev/null
        3539  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signature.txt
 2945   3540   
@@ -0,0 +1 @@
        3541  +
89a40deed0f26f9461242825a082d2222717248abc7ab41f552ad84a94ad46e9
              \
 No newline at end of file
 2946   3542   
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
 2947   3543   
new file mode 100644
 2948   3544   
index 0000000..055cd7a
 2949         -
-- /dev/null
        3545  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signed-request.txt
 2950   3546   
@@ -0,0 +1,6 @@
        3547  +
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
        3548  +
Content-Type:application/x-www-form-urlencoded
        3549  +
Host:example.amazonaws.com
        3550  +
Content-Length:13
        3551  +
        3552  +
Param1=value1
              \
 No newline at end of file
 2951   3553   
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
 2952   3554   
new file mode 100644
 2953   3555   
index 0000000..db7fc27
 2954         -
-- /dev/null
        3556  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-string-to-sign.txt
 2955   3557   
@@ -0,0 +1,4 @@
        3558  +
AWS4-HMAC-SHA256
        3559  +
20150830T123600Z
        3560  +
20150830/us-east-1/service/aws4_request
        3561  +
ee5059a7c437165a28d0e775e6498be428761255d657d8c04cb1baa41de6514c
              \
 No newline at end of file
 2956   3562   
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
 2957   3563   
similarity index 88%
 2958   3564   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/request.txt
 2959   3565   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/request.txt
 2960   3566   
index 0091102..760b2d3 100644
 2961   3567   
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
 2962   3568   
new file mode 100644
 2963   3569   
index 0000000..0468d80
 2964         -
-- /dev/null
        3570  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/context.json
 2965   3571   
@@ -0,0 +1,12 @@
        3572  +
{
        3573  +
    "credentials": {
        3574  +
        "access_key_id": "AKIDEXAMPLE",
        3575  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3576  +
    },
        3577  +
    "expiration_in_seconds": 3600,
        3578  +
    "normalize": true,
        3579  +
    "region": "us-east-1",
        3580  +
    "service": "service",
        3581  +
    "sign_body": false,
        3582  +
    "timestamp": "2015-08-30T12:36:00Z"
        3583  +
}
              \
 No newline at end of file
 2966   3584   
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
 2967   3585   
similarity index 99%
 2968   3586   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-canonical-request.txt
 2969   3587   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-canonical-request.txt
 2970   3588   
index ccb5f43..1bc448e 100644
 2971   3589   
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
 2972   3590   
new file mode 100644
 2973   3591   
index 0000000..489c182
 2974         -
-- /dev/null
        3592  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signature.txt
 2975   3593   
@@ -0,0 +1 @@
        3594  +
304502204862ad283a21f883fc12f1156a6f3fcdbba13d1847e58aa5eb37c666477ea06b022100ee439fac0a975c9a6605b1fa44ad7b654a1f8ac6e868e4e1069a1b3aa35d8113
              \
 No newline at end of file
 2976   3595   
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
 2977   3596   
new file mode 100644
 2978   3597   
index 0000000..e1b8dbf
 2979         -
-- /dev/null
        3598  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signed-request.txt
 2980   3599   
@@ -0,0 +1,9 @@
        3600  +
GET / HTTP/1.1
        3601  +
Host:example.amazonaws.com
        3602  +
My-Header1:value2
        3603  +
My-Header1:value2
        3604  +
My-Header1:value1
        3605  +
X-Amz-Date:20150830T123600Z
        3606  +
X-Amz-Region-Set:us-east-1
        3607  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=30450220331da6dfebb0d19e5e161b1efa389ccb83cadb60bc71f6791ef71ac6054c44de0221008588b7d5c9f7a79ca9c02a02efbd0f540cda242a64ca1452aa914e050b517724
        3608  +
 2981   3609   
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
 2982   3610   
similarity index 99%
 2983   3611   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-string-to-sign.txt
 2984   3612   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-string-to-sign.txt
 2985   3613   
index 8783461..bfc4619 100644
 2986   3614   
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
 2987   3615   
new file mode 100644
 2988   3616   
index 0000000..379dcb2
 2989         -
-- /dev/null
        3617  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/public-key.json
 2990   3618   
@@ -0,0 +1,4 @@
        3619  +
{
        3620  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3621  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3622  +
}
 2991   3623   
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
 2992   3624   
similarity index 99%
 2993   3625   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-canonical-request.txt
 2994   3626   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-canonical-request.txt
 2995   3627   
index 9561297..c05c3f5 100644
 2996   3628   
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
 2997   3629   
new file mode 100644
 2998   3630   
index 0000000..de9a4c3
 2999         -
-- /dev/null
        3631  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signature.txt
 3000   3632   
@@ -0,0 +1 @@
        3633  +
3045022100e1e03fa80218cb464404dc4badbdf443f5f5bb504840a2b3803565a28be0388d022063399d4fb8b974906e87a8d67bf7e95334d9dc620817ef92eb2bc6affb1c6a10
              \
 No newline at end of file
 3001   3634   
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
 3002   3635   
new file mode 100644
 3003   3636   
index 0000000..6c6b8c4
 3004         -
-- /dev/null
        3637  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signed-request.txt
 3005   3638   
@@ -0,0 +1,6 @@
        3639  +
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
        3640  +
Host:example.amazonaws.com
        3641  +
My-Header1:value2
        3642  +
My-Header1:value2
        3643  +
My-Header1:value1
        3644  +
 3006   3645   
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
 3007   3646   
similarity index 99%
 3008   3647   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-string-to-sign.txt
 3009   3648   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-string-to-sign.txt
 3010   3649   
index 3140f6f..4eef106 100644
 3011   3650   
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
 3012   3651   
similarity index 78%
 3013   3652   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
 3014   3653   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 3015   3654   
index 08a0364..40455ce 100644
 3016         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
        3655  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 3017   3656   
@@ -1,6 +1,5 @@
 3018   3657   
GET / HTTP/1.1
 3019   3658   
Host:example.amazonaws.com
 3020   3659   
My-Header1:value2
 3021   3660   
My-Header1:value2
 3022   3661   
My-Header1:value1
 3023         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3024   3662   
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
 3025   3663   
new file mode 100644
 3026   3664   
index 0000000..0468d80
 3027         -
-- /dev/null
        3665  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/context.json
 3028   3666   
@@ -0,0 +1,12 @@
        3667  +
{
        3668  +
    "credentials": {
        3669  +
        "access_key_id": "AKIDEXAMPLE",
        3670  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3671  +
    },
        3672  +
    "expiration_in_seconds": 3600,
        3673  +
    "normalize": true,
        3674  +
    "region": "us-east-1",
        3675  +
    "service": "service",
        3676  +
    "sign_body": false,
        3677  +
    "timestamp": "2015-08-30T12:36:00Z"
        3678  +
}
              \
 No newline at end of file
 3029   3679   
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
 3030   3680   
new file mode 100644
 3031   3681   
index 0000000..69526cd
 3032         -
-- /dev/null
        3682  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-canonical-request.txt
 3033   3683   
@@ -0,0 +1,10 @@
        3684  +
GET
        3685  +
/
        3686  +
        3687  +
host:example.amazonaws.com
        3688  +
my-header1:value1 value2 value3
        3689  +
x-amz-date:20150830T123600Z
        3690  +
x-amz-region-set:us-east-1
        3691  +
        3692  +
host;my-header1;x-amz-date;x-amz-region-set
        3693  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3034   3694   
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
 3035   3695   
new file mode 100644
 3036   3696   
index 0000000..d51b4f3
 3037         -
-- /dev/null
        3697  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signature.txt
 3038   3698   
@@ -0,0 +1 @@
        3699  +
304502206a2d7c3572ebcb9a1f34e5fa744250c3fb2f403a0a7e4b0bc196286846a996a8022100d94aacba36ff453394df27966e9cccd7c6065457b6fe828aebe107307cc5e8e9
              \
 No newline at end of file
 3039   3700   
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
 3040   3701   
new file mode 100644
 3041   3702   
index 0000000..8131420
 3042         -
-- /dev/null
        3703  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signed-request.txt
 3043   3704   
@@ -0,0 +1,9 @@
        3705  +
GET / HTTP/1.1
        3706  +
Host:example.amazonaws.com
        3707  +
My-Header1:value1
        3708  +
  value2
        3709  +
     value3
        3710  +
X-Amz-Date:20150830T123600Z
        3711  +
X-Amz-Region-Set:us-east-1
        3712  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022060b9f2f480a395bf34aa42074697f923c2355e26970987461ce904a6a2eeef52022100fc7ef73838bbfba208a8cf8f3edbe1c8879be7853b677f492db93c30df6fbe02
        3713  +
 3044   3714   
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
 3045   3715   
new file mode 100644
 3046   3716   
index 0000000..e4d99fa
 3047         -
-- /dev/null
        3717  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-string-to-sign.txt
 3048   3718   
@@ -0,0 +1,4 @@
        3719  +
AWS4-ECDSA-P256-SHA256
        3720  +
20150830T123600Z
        3721  +
20150830/service/aws4_request
        3722  +
3579d4751dd7db30860b89a17b53647c70fd8363ec485836dbf68cfd22313398
              \
 No newline at end of file
 3049   3723   
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
 3050   3724   
new file mode 100644
 3051   3725   
index 0000000..379dcb2
 3052         -
-- /dev/null
        3726  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/public-key.json
 3053   3727   
@@ -0,0 +1,4 @@
        3728  +
{
        3729  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3730  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3731  +
}
 3054   3732   
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
 3055   3733   
new file mode 100644
 3056   3734   
index 0000000..3c4d52f
 3057         -
-- /dev/null
        3735  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-canonical-request.txt
 3058   3736   
@@ -0,0 +1,8 @@
        3737  +
GET
        3738  +
/
        3739  +
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
        3740  +
host:example.amazonaws.com
        3741  +
my-header1:value1 value2 value3
        3742  +
        3743  +
host;my-header1
        3744  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3059   3745   
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
 3060   3746   
new file mode 100644
 3061   3747   
index 0000000..4e63f9a
 3062         -
-- /dev/null
        3748  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signature.txt
 3063   3749   
@@ -0,0 +1 @@
        3750  +
30450220159829015456fd111a27c4e0d6a555da894aefd23c96c5eb915b94bf6788499a022100fd48a0b97d1c32a11ee33873f87953a3ef410978f226b4a708acb9e582828fde
              \
 No newline at end of file
 3064   3751   
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
 3065   3752   
new file mode 100644
 3066   3753   
index 0000000..adf1f09
 3067         -
-- /dev/null
        3754  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signed-request.txt
 3068   3755   
@@ -0,0 +1,6 @@
        3756  +
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
        3757  +
Host:example.amazonaws.com
        3758  +
My-Header1:value1
        3759  +
  value2
        3760  +
     value3
        3761  +
 3069   3762   
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
 3070   3763   
new file mode 100644
 3071   3764   
index 0000000..e085407
 3072         -
-- /dev/null
        3765  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-string-to-sign.txt
 3073   3766   
@@ -0,0 +1,4 @@
        3767  +
AWS4-ECDSA-P256-SHA256
        3768  +
20150830T123600Z
        3769  +
20150830/service/aws4_request
        3770  +
960c3db8a6ce71c62c4bc13e5f2a72231a8f1a644d52e688ac1524ecd4b09643
              \
 No newline at end of file
 3074   3771   
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
 3075   3772   
new file mode 100644
 3076   3773   
index 0000000..b5026cd
 3077         -
-- /dev/null
        3774  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/request.txt
 3078   3775   
@@ -0,0 +1,5 @@
        3776  +
GET / HTTP/1.1
        3777  +
Host:example.amazonaws.com
        3778  +
My-Header1:value1
        3779  +
  value2
        3780  +
     value3
 3079   3781   
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
 3080   3782   
new file mode 100644
 3081   3783   
index 0000000..0468d80
 3082         -
-- /dev/null
        3784  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/context.json
 3083   3785   
@@ -0,0 +1,12 @@
        3786  +
{
        3787  +
    "credentials": {
        3788  +
        "access_key_id": "AKIDEXAMPLE",
        3789  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3790  +
    },
        3791  +
    "expiration_in_seconds": 3600,
        3792  +
    "normalize": true,
        3793  +
    "region": "us-east-1",
        3794  +
    "service": "service",
        3795  +
    "sign_body": false,
        3796  +
    "timestamp": "2015-08-30T12:36:00Z"
        3797  +
}
              \
 No newline at end of file
 3084   3798   
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
 3085   3799   
similarity index 99%
 3086   3800   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-canonical-request.txt
 3087   3801   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-canonical-request.txt
 3088   3802   
index 9375193..533afdb 100644
 3089   3803   
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
 3090   3804   
new file mode 100644
 3091   3805   
index 0000000..057b426
 3092         -
-- /dev/null
        3806  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signature.txt
 3093   3807   
@@ -0,0 +1 @@
        3808  +
3045022005e72f83b232f1fa01d7344267d44a46fa4c193bc3d0ad256e89f92a561eb8fa022100c62a85a22a6018463df69c97da07cd189185dadeede293c659e15514cd28a0c9
              \
 No newline at end of file
 3094   3809   
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
 3095   3810   
new file mode 100644
 3096   3811   
index 0000000..4e4ccf0
 3097         -
-- /dev/null
        3812  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signed-request.txt
 3098   3813   
@@ -0,0 +1,10 @@
        3814  +
GET / HTTP/1.1
        3815  +
Host:example.amazonaws.com
        3816  +
My-Header1:value4
        3817  +
My-Header1:value1
        3818  +
My-Header1:value3
        3819  +
My-Header1:value2
        3820  +
X-Amz-Date:20150830T123600Z
        3821  +
X-Amz-Region-Set:us-east-1
        3822  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=304402203410301a4cfc805996d0ac5305374d7cdff4e2564fcbd6f6cfed73b227966046022046e36b2ede1f78d2b68ea4534ae59da3de089e58f67ae08490411dfabd77f36e
        3823  +
 3099   3824   
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
 3100   3825   
similarity index 99%
 3101   3826   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-string-to-sign.txt
 3102   3827   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-string-to-sign.txt
 3103   3828   
index 6400baf..e68c952 100644
 3104   3829   
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
 3105   3830   
new file mode 100644
 3106   3831   
index 0000000..379dcb2
 3107         -
-- /dev/null
        3832  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/public-key.json
 3108   3833   
@@ -0,0 +1,4 @@
        3834  +
{
        3835  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3836  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3837  +
}
 3109   3838   
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
 3110   3839   
similarity index 99%
 3111   3840   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-canonical-request.txt
 3112   3841   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-canonical-request.txt
 3113   3842   
index ecf494a..68450fe 100644
 3114   3843   
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
 3115   3844   
new file mode 100644
 3116   3845   
index 0000000..9df2eb3
 3117         -
-- /dev/null
        3846  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signature.txt
 3118   3847   
@@ -0,0 +1 @@
        3848  +
3045022044e0c722f2d02673c326d0ac38aae57e2877e158b700de702e5dd082be680f65022100841bb5007fb5ece1078add2bf38e84f1b7ea13e67b935d1fd021014eedee46a4
              \
 No newline at end of file
 3119   3849   
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
 3120   3850   
new file mode 100644
 3121   3851   
index 0000000..62f8cb7
 3122         -
-- /dev/null
        3852  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signed-request.txt
 3123   3853   
@@ -0,0 +1,7 @@
        3854  +
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
        3855  +
Host:example.amazonaws.com
        3856  +
My-Header1:value4
        3857  +
My-Header1:value1
        3858  +
My-Header1:value3
        3859  +
My-Header1:value2
        3860  +
 3124   3861   
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
 3125   3862   
similarity index 99%
 3126   3863   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-string-to-sign.txt
 3127   3864   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-string-to-sign.txt
 3128   3865   
index b584179..2bcf7b1 100644
 3129   3866   
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
 3130   3867   
similarity index 80%
 3131   3868   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
 3132   3869   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3133   3870   
index f7bd9e6..2c6f49d 100644
 3134         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
        3871  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3135   3872   
@@ -1,7 +1,6 @@
 3136   3873   
GET / HTTP/1.1
 3137   3874   
Host:example.amazonaws.com
 3138   3875   
My-Header1:value4
 3139   3876   
My-Header1:value1
 3140   3877   
My-Header1:value3
 3141   3878   
My-Header1:value2
 3142         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3143   3879   
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
 3144   3880   
new file mode 100644
 3145   3881   
index 0000000..0468d80
 3146         -
-- /dev/null
        3882  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/context.json
 3147   3883   
@@ -0,0 +1,12 @@
        3884  +
{
        3885  +
    "credentials": {
        3886  +
        "access_key_id": "AKIDEXAMPLE",
        3887  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3888  +
    },
        3889  +
    "expiration_in_seconds": 3600,
        3890  +
    "normalize": true,
        3891  +
    "region": "us-east-1",
        3892  +
    "service": "service",
        3893  +
    "sign_body": false,
        3894  +
    "timestamp": "2015-08-30T12:36:00Z"
        3895  +
}
              \
 No newline at end of file
 3148   3896   
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
 3149   3897   
similarity index 99%
 3150   3898   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-canonical-request.txt
 3151   3899   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-canonical-request.txt
 3152   3900   
index e91e952..94b6be5 100644
 3153   3901   
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
 3154   3902   
new file mode 100644
 3155   3903   
index 0000000..bf8c3cb
 3156         -
-- /dev/null
        3904  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signature.txt
 3157   3905   
@@ -0,0 +1 @@
        3906  +
3046022100f05cfb8a9a49ee4540c49ed27e612ddd1a2d168512bad65a96cdf8378254a4bd022100a3eb663e6734125d467fc00d5a41dc6bf476ec167d5c20657ff3135c8b4f7815
              \
 No newline at end of file
 3158   3907   
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
 3159   3908   
new file mode 100644
 3160   3909   
index 0000000..f7f054d
 3161         -
-- /dev/null
        3910  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signed-request.txt
 3162   3911   
@@ -0,0 +1,8 @@
        3912  +
GET / HTTP/1.1
        3913  +
Host:example.amazonaws.com
        3914  +
My-Header1: value1
        3915  +
My-Header2: "a   b   c"
        3916  +
X-Amz-Date:20150830T123600Z
        3917  +
X-Amz-Region-Set:us-east-1
        3918  +
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
        3919  +
 3163   3920   
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
 3164   3921   
similarity index 99%
 3165   3922   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-string-to-sign.txt
 3166   3923   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-string-to-sign.txt
 3167   3924   
index 0e407d8..a2c9c05 100644
 3168   3925   
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
 3169   3926   
new file mode 100644
 3170   3927   
index 0000000..379dcb2
 3171         -
-- /dev/null
        3928  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/public-key.json
 3172   3929   
@@ -0,0 +1,4 @@
        3930  +
{
        3931  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3932  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3933  +
}
 3173   3934   
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
 3174   3935   
similarity index 99%
 3175   3936   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-canonical-request.txt
 3176   3937   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-canonical-request.txt
 3177   3938   
index 8a3b042..3a51150 100644
 3178   3939   
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
 3179   3940   
new file mode 100644
 3180   3941   
index 0000000..0033053
 3181         -
-- /dev/null
        3942  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signature.txt
 3182   3943   
@@ -0,0 +1 @@
        3944  +
3045022100a765fa4e0a2c5d56292cc9aa654332858bcbb2af27b8c488157113f2c084776b02206145afa6dbb99993e499863fa36e592b94ddaeefbd778a473348204f26c15547
              \
 No newline at end of file
 3183   3945   
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
 3184   3946   
new file mode 100644
 3185   3947   
index 0000000..1537888
 3186         -
-- /dev/null
        3948  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signed-request.txt
 3187   3949   
@@ -0,0 +1,5 @@
        3950  +
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
        3951  +
Host:example.amazonaws.com
        3952  +
My-Header1: value1
        3953  +
My-Header2: "a   b   c"
        3954  +
 3188   3955   
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
 3189   3956   
similarity index 99%
 3190   3957   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-string-to-sign.txt
 3191   3958   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-string-to-sign.txt
 3192   3959   
index 5eead25..633dc1f 100644
 3193   3960   
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
 3194   3961   
similarity index 75%
 3195   3962   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
 3196   3963   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3197   3964   
index 901f36c..ad1ea98 100644
 3198         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
        3965  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3199   3966   
@@ -1,5 +1,4 @@
 3200   3967   
GET / HTTP/1.1
 3201   3968   
Host:example.amazonaws.com
 3202   3969   
My-Header1: value1
 3203   3970   
My-Header2: "a   b   c"
 3204         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3205   3971   
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
 3206   3972   
new file mode 100644
 3207   3973   
index 0000000..0468d80
 3208         -
-- /dev/null
        3974  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/context.json
 3209   3975   
@@ -0,0 +1,12 @@
        3976  +
{
        3977  +
    "credentials": {
        3978  +
        "access_key_id": "AKIDEXAMPLE",
        3979  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3980  +
    },
        3981  +
    "expiration_in_seconds": 3600,
        3982  +
    "normalize": true,
        3983  +
    "region": "us-east-1",
        3984  +
    "service": "service",
        3985  +
    "sign_body": false,
        3986  +
    "timestamp": "2015-08-30T12:36:00Z"
        3987  +
}
              \
 No newline at end of file
 3210   3988   
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
 3211   3989   
similarity index 99%
 3212   3990   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-canonical-request.txt
 3213   3991   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-canonical-request.txt
 3214   3992   
index 47e7128..76db73d 100644
 3215   3993   
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
 3216   3994   
new file mode 100644
 3217   3995   
index 0000000..cbd6ae2
 3218         -
-- /dev/null
        3996  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signature.txt
 3219   3997   
@@ -0,0 +1 @@
        3998  +
3045022002e5e766e09de198957182589c9abe3e7ccd00a8fc6d7bbaf5f0a2c10660d16a022100e6b0835731cd5b72d5abb50e5821d90f5f713339697eb65cf40d34a3facfdbb8
              \
 No newline at end of file
 3220   3999   
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
 3221   4000   
new file mode 100644
 3222   4001   
index 0000000..a343fcf
 3223         -
-- /dev/null
        4002  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signed-request.txt
 3224   4003   
@@ -0,0 +1,6 @@
        4004  +
GET /example/.. HTTP/1.1
        4005  +
Host:example.amazonaws.com
        4006  +
X-Amz-Date:20150830T123600Z
        4007  +
X-Amz-Region-Set:us-east-1
        4008  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206ccd591952cdb4a0a002217788234c80eac520f890b0a6ea07b98044f08ba10e0220733126caf0347f7df89773f79b9fae2648ca786e67a7d88ec296d66452da4bec
        4009  +
 3225   4010   
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
 3226   4011   
similarity index 99%
 3227   4012   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-string-to-sign.txt
 3228   4013   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-string-to-sign.txt
 3229   4014   
index 95d7219..600f1d8 100644
 3230   4015   
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
 3231   4016   
new file mode 100644
 3232   4017   
index 0000000..379dcb2
 3233         -
-- /dev/null
        4018  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/public-key.json
 3234   4019   
@@ -0,0 +1,4 @@
        4020  +
{
        4021  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4022  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4023  +
}
 3235   4024   
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
 3236   4025   
similarity index 99%
 3237   4026   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-canonical-request.txt
 3238   4027   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-canonical-request.txt
 3239   4028   
index a34ea26..779c51c 100644
 3240   4029   
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
 3241   4030   
new file mode 100644
 3242   4031   
index 0000000..3cc88e6
 3243         -
-- /dev/null
        4032  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signature.txt
 3244   4033   
@@ -0,0 +1 @@
        4034  +
304402200ef7c6ac7bfaaddbf4df3a4b03ab2e4e24e992d305fa133ef0f6c826ad9850e602203ef21f22e239cd1971310c404c80d6e50c5cd06eae1452695ae762d1a9a51c90
              \
 No newline at end of file
 3245   4035   
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
 3246   4036   
new file mode 100644
 3247   4037   
index 0000000..f68dde8
 3248         -
-- /dev/null
        4038  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signed-request.txt
 3249   4039   
@@ -0,0 +1,3 @@
        4040  +
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
        4041  +
Host:example.amazonaws.com
        4042  +
 3250   4043   
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
 3251   4044   
similarity index 99%
 3252   4045   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-string-to-sign.txt
 3253   4046   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-string-to-sign.txt
 3254   4047   
index 48f855c..6e29a7e 100644
 3255   4048   
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
 3256   4049   
similarity index 65%
 3257   4050   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
 3258   4051   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3259   4052   
index 9d6d7ca..6aa9f99 100644
 3260         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
        4053  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3261   4054   
@@ -1,3 +1,2 @@
 3262   4055   
GET /example/.. HTTP/1.1
 3263   4056   
Host:example.amazonaws.com
 3264         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3265   4057   
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
 3266   4058   
new file mode 100644
 3267   4059   
index 0000000..0468d80
 3268         -
-- /dev/null
        4060  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/context.json
 3269   4061   
@@ -0,0 +1,12 @@
        4062  +
{
        4063  +
    "credentials": {
        4064  +
        "access_key_id": "AKIDEXAMPLE",
        4065  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4066  +
    },
        4067  +
    "expiration_in_seconds": 3600,
        4068  +
    "normalize": true,
        4069  +
    "region": "us-east-1",
        4070  +
    "service": "service",
        4071  +
    "sign_body": false,
        4072  +
    "timestamp": "2015-08-30T12:36:00Z"
        4073  +
}
              \
 No newline at end of file
 3270   4074   
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
 3271   4075   
similarity index 99%
 3272   4076   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-canonical-request.txt
 3273   4077   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-canonical-request.txt
 3274   4078   
index 47e7128..76db73d 100644
 3275   4079   
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
 3276   4080   
new file mode 100644
 3277   4081   
index 0000000..f7a7ebe
 3278         -
-- /dev/null
        4082  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signature.txt
 3279   4083   
@@ -0,0 +1 @@
        4084  +
3046022100ea029ea1e7b8715f67cd33b8536e013e53e9c7bcd109770f29a4a28767bb2212022100c95a298283c130266a4c8457590d8c047205b4aef9266b85deeb90e5c73e5caa
              \
 No newline at end of file
 3280   4085   
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
 3281   4086   
new file mode 100644
 3282   4087   
index 0000000..9d2c50d
 3283         -
-- /dev/null
        4088  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signed-request.txt
 3284   4089   
@@ -0,0 +1,6 @@
        4090  +
GET /example1/example2/../.. HTTP/1.1
        4091  +
Host:example.amazonaws.com
        4092  +
X-Amz-Date:20150830T123600Z
        4093  +
X-Amz-Region-Set:us-east-1
        4094  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203edb747d59fe32db47529b2e5e02c9276759b7c43ad9e36ff62d52b8dbeb00e3022007f99e8601938b893fe6dcbac9259fec2f3797b0e3d74fd66d59b09e83b8c1d4
        4095  +
 3285   4096   
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
 3286   4097   
similarity index 99%
 3287   4098   
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
 3288   4099   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-string-to-sign.txt
 3289   4100   
index 95d7219..600f1d8 100644
 3290   4101   
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
 3291   4102   
new file mode 100644
 3292   4103   
index 0000000..379dcb2
 3293         -
-- /dev/null
        4104  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/public-key.json
 3294   4105   
@@ -0,0 +1,4 @@
        4106  +
{
        4107  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4108  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4109  +
}
 3295   4110   
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
 3296   4111   
similarity index 99%
 3297   4112   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-canonical-request.txt
 3298   4113   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-canonical-request.txt
 3299   4114   
index a34ea26..779c51c 100644
 3300   4115   
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
 3301   4116   
new file mode 100644
 3302   4117   
index 0000000..45ef286
 3303         -
-- /dev/null
        4118  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signature.txt
 3304   4119   
@@ -0,0 +1 @@
        4120  +
304402200afc56cdc43e814e44408999f2fb2fe0f8992877345b09e402b28fb2063e4987022035cdba28f5462e9034f45fc5f879bd2305943f9a1830b0f7fbe6468658ba52c1
              \
 No newline at end of file
 3305   4121   
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
 3306   4122   
new file mode 100644
 3307   4123   
index 0000000..0d16f66
 3308         -
-- /dev/null
        4124  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signed-request.txt
 3309   4125   
@@ -0,0 +1,3 @@
        4126  +
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
        4127  +
Host:example.amazonaws.com
        4128  +
 3310   4129   
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
 3311   4130   
similarity index 99%
 3312   4131   
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
 3313   4132   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-string-to-sign.txt
 3314   4133   
index 48f855c..6e29a7e 100644
 3315   4134   
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
 3316   4135   
similarity index 70%
 3317   4136   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
 3318   4137   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3319   4138   
index cfd4e8b..a856c10 100644
 3320         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
        4139  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3321   4140   
@@ -1,3 +1,2 @@
 3322   4141   
GET /example1/example2/../.. HTTP/1.1
 3323   4142   
Host:example.amazonaws.com
 3324         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3325   4143   
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
 3326   4144   
new file mode 100644
 3327   4145   
index 0000000..7bee5c7
 3328         -
-- /dev/null
        4146  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/context.json
 3329   4147   
@@ -0,0 +1,12 @@
        4148  +
{
        4149  +
    "credentials": {
        4150  +
        "access_key_id": "AKIDEXAMPLE",
        4151  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4152  +
    },
        4153  +
    "expiration_in_seconds": 3600,
        4154  +
    "normalize": false,
        4155  +
    "region": "us-east-1",
        4156  +
    "service": "service",
        4157  +
    "sign_body": false,
        4158  +
    "timestamp": "2015-08-30T12:36:00Z"
        4159  +
}
              \
 No newline at end of file
 3330   4160   
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
 3331   4161   
similarity index 99%
 3332   4162   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-canonical-request.txt
 3333   4163   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-canonical-request.txt
 3334   4164   
index 5e1d1cf..e4e6d57 100644
 3335   4165   
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
 3336   4166   
new file mode 100644
 3337   4167   
index 0000000..2d1b47c
 3338         -
-- /dev/null
        4168  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signature.txt
 3339   4169   
@@ -0,0 +1 @@
        4170  +
30450221009bf86ef8b148904a938fcc5a050aa99cb99cb6a3436a62badfef1b82977d95c4022053e3c11e10fb302a2c39c253b066530404ee5fcca63bf962facd8d072817a69d
              \
 No newline at end of file
 3340   4171   
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
 3341   4172   
new file mode 100644
 3342   4173   
index 0000000..7158179
 3343         -
-- /dev/null
        4174  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signed-request.txt
 3344   4175   
@@ -0,0 +1,6 @@
        4176  +
GET /example1/example2/../.. HTTP/1.1
        4177  +
Host:example.amazonaws.com
        4178  +
X-Amz-Date:20150830T123600Z
        4179  +
X-Amz-Region-Set:us-east-1
        4180  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402205651d45d4f377407303dba0775405efa77683821adff20c0256b94d10710de5b022053fa72420652c55327876c5105da6770cb482f55533e1b0bd7d15fa75f570e46
        4181  +
 3345   4182   
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
 3346   4183   
similarity index 99%
 3347   4184   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-string-to-sign.txt
 3348   4185   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-string-to-sign.txt
 3349   4186   
index 1cca6cf..db60c8e 100644
 3350   4187   
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
 3351   4188   
new file mode 100644
 3352   4189   
index 0000000..379dcb2
 3353         -
-- /dev/null
        4190  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/public-key.json
 3354   4191   
@@ -0,0 +1,4 @@
        4192  +
{
        4193  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4194  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4195  +
}
 3355   4196   
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
 3356   4197   
similarity index 99%
 3357   4198   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-canonical-request.txt
 3358   4199   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-canonical-request.txt
 3359   4200   
index 95dc104..0d963ba 100644
 3360   4201   
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
 3361   4202   
new file mode 100644
 3362   4203   
index 0000000..ae774e4
 3363         -
-- /dev/null
        4204  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signature.txt
 3364   4205   
@@ -0,0 +1 @@
        4206  +
3046022100a11cd4cae39a6b3553651f9c6360898278d90a3cb8f736184ff6bdb8564decbc022100d86a34623cc34890750a7fe8a30948638f6dace0e558c3ff82a0cf6256067503
              \
 No newline at end of file
 3365   4207   
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
 3366   4208   
new file mode 100644
 3367   4209   
index 0000000..be6b86e
 3368         -
-- /dev/null
        4210  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signed-request.txt
 3369   4211   
@@ -0,0 +1,3 @@
        4212  +
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
        4213  +
Host:example.amazonaws.com
        4214  +
 3370   4215   
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
 3371   4216   
similarity index 99%
 3372   4217   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-string-to-sign.txt
 3373   4218   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-string-to-sign.txt
 3374   4219   
index 50edce6..fcc70cd 100644
 3375   4220   
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
 3376   4221   
new file mode 100644
 3377   4222   
index 0000000..a856c10
 3378         -
-- /dev/null
        4223  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/request.txt
 3379   4224   
@@ -0,0 +1,2 @@
        4225  +
GET /example1/example2/../.. HTTP/1.1
        4226  +
Host:example.amazonaws.com
 3380   4227   
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
 3381   4228   
new file mode 100644
 3382   4229   
index 0000000..7bee5c7
 3383         -
-- /dev/null
        4230  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/context.json
 3384   4231   
@@ -0,0 +1,12 @@
        4232  +
{
        4233  +
    "credentials": {
        4234  +
        "access_key_id": "AKIDEXAMPLE",
        4235  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4236  +
    },
        4237  +
    "expiration_in_seconds": 3600,
        4238  +
    "normalize": false,
        4239  +
    "region": "us-east-1",
        4240  +
    "service": "service",
        4241  +
    "sign_body": false,
        4242  +
    "timestamp": "2015-08-30T12:36:00Z"
        4243  +
}
              \
 No newline at end of file
 3385   4244   
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
 3386   4245   
similarity index 99%
 3387   4246   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-canonical-request.txt
 3388   4247   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-canonical-request.txt
 3389   4248   
index d6a0abe..22def1a 100644
 3390   4249   
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
 3391   4250   
new file mode 100644
 3392   4251   
index 0000000..9251bad
 3393         -
-- /dev/null
        4252  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signature.txt
 3394   4253   
@@ -0,0 +1 @@
        4254  +
3045022100a85167a37a2c6aea42ef9dcb0dcaeaf85ca4ef1a4d8ffea5be550dbd4573471902202193760e5e6bb1ee4aff836769b9739f4563e06749bcaa7553ec1d1377aa5a6d
              \
 No newline at end of file
 3395   4255   
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
 3396   4256   
new file mode 100644
 3397   4257   
index 0000000..f1bb60f
 3398         -
-- /dev/null
        4258  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signed-request.txt
 3399   4259   
@@ -0,0 +1,6 @@
        4260  +
GET /example/.. HTTP/1.1
        4261  +
Host:example.amazonaws.com
        4262  +
X-Amz-Date:20150830T123600Z
        4263  +
X-Amz-Region-Set:us-east-1
        4264  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402201430c834d8a89aca13ebd785da338950559f71ab29f1b7d7b4ad6b090de1a09702206c8d6089b75105d6fc5df5374bbb8abbc33b78951c95b90f9f6c25a657b58ce6
        4265  +
 3400   4266   
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
 3401   4267   
similarity index 99%
 3402   4268   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-string-to-sign.txt
 3403   4269   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-string-to-sign.txt
 3404   4270   
index 4a34e93..5673a20 100644
 3405   4271   
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
 3406   4272   
new file mode 100644
 3407   4273   
index 0000000..379dcb2
 3408         -
-- /dev/null
        4274  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/public-key.json
 3409   4275   
@@ -0,0 +1,4 @@
        4276  +
{
        4277  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4278  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4279  +
}
 3410   4280   
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
 3411   4281   
similarity index 99%
 3412   4282   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-canonical-request.txt
 3413   4283   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-canonical-request.txt
 3414   4284   
index b1d123e..a1c22e0 100644
 3415   4285   
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
 3416   4286   
new file mode 100644
 3417   4287   
index 0000000..9f0f686
 3418         -
-- /dev/null
        4288  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signature.txt
 3419   4289   
@@ -0,0 +1 @@
        4290  +
3045022074d05647e395d4bf3d751953c7242ee27dd16fbae3f604a272d3acc3d72ba5fb022100ddccd95ac05f60f10d5e95c5847b49018bbfa1084361bf338964408cc2162fff
              \
 No newline at end of file
 3420   4291   
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
 3421   4292   
new file mode 100644
 3422   4293   
index 0000000..d1d451a
 3423         -
-- /dev/null
        4294  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signed-request.txt
 3424   4295   
@@ -0,0 +1,3 @@
        4296  +
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
        4297  +
Host:example.amazonaws.com
        4298  +
 3425   4299   
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
 3426   4300   
similarity index 99%
 3427   4301   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-string-to-sign.txt
 3428   4302   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-string-to-sign.txt
 3429   4303   
index a17f5ab..81b41e8 100644
 3430   4304   
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
 3431   4305   
new file mode 100644
 3432   4306   
index 0000000..6aa9f99
 3433         -
-- /dev/null
        4307  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/request.txt
 3434   4308   
@@ -0,0 +1,2 @@
        4309  +
GET /example/.. HTTP/1.1
        4310  +
Host:example.amazonaws.com
 3435   4311   
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
 3436   4312   
new file mode 100644
 3437   4313   
index 0000000..0468d80
 3438         -
-- /dev/null
        4314  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/context.json
 3439   4315   
@@ -0,0 +1,12 @@
        4316  +
{
        4317  +
    "credentials": {
        4318  +
        "access_key_id": "AKIDEXAMPLE",
        4319  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4320  +
    },
        4321  +
    "expiration_in_seconds": 3600,
        4322  +
    "normalize": true,
        4323  +
    "region": "us-east-1",
        4324  +
    "service": "service",
        4325  +
    "sign_body": false,
        4326  +
    "timestamp": "2015-08-30T12:36:00Z"
        4327  +
}
              \
 No newline at end of file
 3440   4328   
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
 3441   4329   
similarity index 99%
 3442   4330   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-canonical-request.txt
 3443   4331   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-canonical-request.txt
 3444   4332   
index 47e7128..76db73d 100644
 3445   4333   
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
 3446   4334   
new file mode 100644
 3447   4335   
index 0000000..ca6e84e
 3448         -
-- /dev/null
        4336  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signature.txt
 3449   4337   
@@ -0,0 +1 @@
        4338  +
3045022100e8ed39e8b964e06162ab1cddbff57c449a9b72e2d052a7a3e12a116ae30185ee022003e6eb0fddbaa586225b26877ab145e05a08ac418ef7c966e5daef258b70cbfc
              \
 No newline at end of file
 3450   4339   
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
 3451   4340   
new file mode 100644
 3452   4341   
index 0000000..a7c764c
 3453         -
-- /dev/null
        4342  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signed-request.txt
 3454   4343   
@@ -0,0 +1,6 @@
        4344  +
GET /./ HTTP/1.1
        4345  +
Host:example.amazonaws.com
        4346  +
X-Amz-Date:20150830T123600Z
        4347  +
X-Amz-Region-Set:us-east-1
        4348  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207665172b8612dbbd2c1f3c722c52b7b8dac2cdc5203d86252e21d9610018b153022100c548f3f0c23beeb388f8c8138ce1e883e2cdf2be1d7c5d7c15d4e565bfd6b0dd
        4349  +
 3455   4350   
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
 3456   4351   
similarity index 99%
 3457   4352   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-string-to-sign.txt
 3458   4353   
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
 3459   4354   
index 95d7219..600f1d8 100644
 3460   4355   
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
 3461   4356   
new file mode 100644
 3462   4357   
index 0000000..379dcb2
 3463         -
-- /dev/null
        4358  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/public-key.json
 3464   4359   
@@ -0,0 +1,4 @@
        4360  +
{
        4361  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4362  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4363  +
}
 3465   4364   
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
 3466   4365   
similarity index 99%
 3467   4366   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-canonical-request.txt
 3468   4367   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-canonical-request.txt
 3469   4368   
index a34ea26..779c51c 100644
 3470   4369   
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
 3471   4370   
new file mode 100644
 3472   4371   
index 0000000..4b6ed09
 3473         -
-- /dev/null
        4372  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signature.txt
 3474   4373   
@@ -0,0 +1 @@
        4374  +
3046022100ea775dcca84dbada39eb9e7d55183c31d7294d1826d965c2ade1730bd20ac7cb022100aaab5325eed9bb3f93814af0fd0170893cbeeff052d0bb554f91a394fd2f5135
              \
 No newline at end of file
 3475   4375   
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
 3476   4376   
new file mode 100644
 3477   4377   
index 0000000..d6c7176
 3478         -
-- /dev/null
        4378  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signed-request.txt
 3479   4379   
@@ -0,0 +1,3 @@
        4380  +
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
        4381  +
Host:example.amazonaws.com
        4382  +
 3480   4383   
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
 3481   4384   
similarity index 99%
 3482   4385   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-string-to-sign.txt
 3483   4386   
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
 3484   4387   
index 48f855c..6e29a7e 100644
 3485   4388   
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
 3486   4389   
similarity index 61%
 3487   4390   
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
 3488   4391   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3489   4392   
index f3537b7..2c5ff38 100644
 3490         -
-- 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
        4393  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3491   4394   
@@ -1,3 +1,2 @@
 3492   4395   
GET /./ HTTP/1.1
 3493   4396   
Host:example.amazonaws.com
 3494         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3495   4397   
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
 3496   4398   
new file mode 100644
 3497   4399   
index 0000000..7bee5c7
 3498         -
-- /dev/null
        4400  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/context.json
 3499   4401   
@@ -0,0 +1,12 @@
        4402  +
{
        4403  +
    "credentials": {
        4404  +
        "access_key_id": "AKIDEXAMPLE",
        4405  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4406  +
    },
        4407  +
    "expiration_in_seconds": 3600,
        4408  +
    "normalize": false,
        4409  +
    "region": "us-east-1",
        4410  +
    "service": "service",
        4411  +
    "sign_body": false,
        4412  +
    "timestamp": "2015-08-30T12:36:00Z"
        4413  +
}
              \
 No newline at end of file
 3500   4414   
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
 3501   4415   
similarity index 99%
 3502   4416   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3503   4417   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3504   4418   
index d05303d..9257ac4 100644
 3505   4419   
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
 3506   4420   
new file mode 100644
 3507   4421   
index 0000000..2eb1aa5
 3508         -
-- /dev/null
        4422  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signature.txt
 3509   4423   
@@ -0,0 +1 @@
        4424  +
30450220430660fe6e8e04ee055a2c56476dcf95c00b3efca267823134664f90a23fdc0f022100f188106c83e13a89e6a487f24d23522520f7a15c40e3aacd0c32284da42c2f5a
              \
 No newline at end of file
 3510   4425   
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
 3511   4426   
new file mode 100644
 3512   4427   
index 0000000..df3b1da
 3513         -
-- /dev/null
        4428  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signed-request.txt
 3514   4429   
@@ -0,0 +1,6 @@
        4430  +
GET /./ HTTP/1.1
        4431  +
Host:example.amazonaws.com
        4432  +
X-Amz-Date:20150830T123600Z
        4433  +
X-Amz-Region-Set:us-east-1
        4434  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022049aaa02168ac9666a94f42238be0a02a7a244b74d6e16bdf64aac7ce8e21e44d02206b9be50186bdd4ee9191c0dd5ccff7e990365bb3b56430653f6fa49a68dbf596
        4435  +
 3515   4436   
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
 3516   4437   
similarity index 99%
 3517   4438   
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
 3518   4439   
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
 3519   4440   
index e1bfb39..754b3ed 100644
 3520   4441   
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
 3521   4442   
new file mode 100644
 3522   4443   
index 0000000..379dcb2
 3523         -
-- /dev/null
        4444  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/public-key.json
 3524   4445   
@@ -0,0 +1,4 @@
        4446  +
{
        4447  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4448  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4449  +
}
 3525   4450   
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
 3526   4451   
similarity index 99%
 3527   4452   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3528   4453   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3529   4454   
index f048d0f..c8edce3 100644
 3530   4455   
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
 3531   4456   
new file mode 100644
 3532   4457   
index 0000000..d3af3b8
 3533         -
-- /dev/null
        4458  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signature.txt
 3534   4459   
@@ -0,0 +1 @@
        4460  +
304402207999228e5213710741e030ffa7dfa83ce3676384c5df044431bc854488a08abd0220248ff8a956bbcbc641c0ec4a7853774f44112b1571f861fc5aebf78282fd7e63
              \
 No newline at end of file
 3535   4461   
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
 3536   4462   
new file mode 100644
 3537   4463   
index 0000000..eb38155
 3538         -
-- /dev/null
        4464  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signed-request.txt
 3539   4465   
@@ -0,0 +1,3 @@
        4466  +
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
        4467  +
Host:example.amazonaws.com
        4468  +
 3540   4469   
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
 3541   4470   
similarity index 99%
 3542   4471   
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
 3543   4472   
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
 3544   4473   
index bfcf245..4f20b8f 100644
 3545   4474   
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
 3546   4475   
new file mode 100644
 3547   4476   
index 0000000..2c5ff38
 3548         -
-- /dev/null
        4477  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/request.txt
 3549   4478   
@@ -0,0 +1,2 @@
        4479  +
GET /./ HTTP/1.1
        4480  +
Host:example.amazonaws.com
 3550   4481   
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
 3551   4482   
new file mode 100644
 3552   4483   
index 0000000..0468d80
 3553         -
-- /dev/null
        4484  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/context.json
 3554   4485   
@@ -0,0 +1,12 @@
        4486  +
{
        4487  +
    "credentials": {
        4488  +
        "access_key_id": "AKIDEXAMPLE",
        4489  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4490  +
    },
        4491  +
    "expiration_in_seconds": 3600,
        4492  +
    "normalize": true,
        4493  +
    "region": "us-east-1",
        4494  +
    "service": "service",
        4495  +
    "sign_body": false,
        4496  +
    "timestamp": "2015-08-30T12:36:00Z"
        4497  +
}
              \
 No newline at end of file
 3555   4498   
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
 3556   4499   
similarity index 99%
 3557   4500   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-canonical-request.txt
 3558   4501   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-canonical-request.txt
 3559   4502   
index 47e7128..76db73d 100644
 3560   4503   
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
 3561   4504   
new file mode 100644
 3562   4505   
index 0000000..0c049ca
 3563         -
-- /dev/null
        4506  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signature.txt
 3564   4507   
@@ -0,0 +1 @@
        4508  +
304602210084a7310186a866f81dbe8e546f6931dd7c61586d30664d5c11f5904836f72cfd022100c7d80abdccceb1cbcdbbda8b4f3f0ae1ac6229dce800b21ba8298c582fa96a1c
              \
 No newline at end of file
 3565   4509   
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
 3566   4510   
new file mode 100644
 3567   4511   
index 0000000..f4bb1e1
 3568         -
-- /dev/null
        4512  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signed-request.txt
 3569   4513   
@@ -0,0 +1,6 @@
        4514  +
GET // HTTP/1.1
        4515  +
Host:example.amazonaws.com
        4516  +
X-Amz-Date:20150830T123600Z
        4517  +
X-Amz-Region-Set:us-east-1
        4518  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207c7fe2e91cdbe4529569d58fc3727507375cff81a56cfa26b387895ab6cdbb25022100d38e283efa5ff27d88f10e7367493b1dc49050ba9474531e4acb3ee30fac3739
        4519  +
 3570   4520   
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
 3571   4521   
similarity index 99%
 3572   4522   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-string-to-sign.txt
 3573   4523   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-string-to-sign.txt
 3574   4524   
index 95d7219..600f1d8 100644
 3575   4525   
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
 3576   4526   
new file mode 100644
 3577   4527   
index 0000000..379dcb2
 3578         -
-- /dev/null
        4528  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/public-key.json
 3579   4529   
@@ -0,0 +1,4 @@
        4530  +
{
        4531  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4532  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4533  +
}
 3580   4534   
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
 3581   4535   
similarity index 99%
 3582   4536   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-canonical-request.txt
 3583   4537   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-canonical-request.txt
 3584   4538   
index a34ea26..779c51c 100644
 3585   4539   
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
 3586   4540   
new file mode 100644
 3587   4541   
index 0000000..ca52293
 3588         -
-- /dev/null
        4542  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signature.txt
 3589   4543   
@@ -0,0 +1 @@
        4544  +
3045022100b1c08ec4e9a6313f2de7bd8ce726845ea7a3cc636a21ab7258a3067836a6601b02206b76d7a9845bfb683eb30d126a1dc4657e8b64762d4bfb976da9fa132c4a9bd7
              \
 No newline at end of file
 3590   4545   
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
 3591   4546   
new file mode 100644
 3592   4547   
index 0000000..4a212a9
 3593         -
-- /dev/null
        4548  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signed-request.txt
 3594   4549   
@@ -0,0 +1,3 @@
        4550  +
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
        4551  +
Host:example.amazonaws.com
        4552  +
 3595   4553   
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
 3596   4554   
similarity index 99%
 3597   4555   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-string-to-sign.txt
 3598   4556   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-string-to-sign.txt
 3599   4557   
index 48f855c..6e29a7e 100644
 3600   4558   
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
 3601   4559   
similarity index 61%
 3602   4560   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
 3603   4561   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 3604   4562   
index ede8e3c..25bc21e 100644
 3605         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
        4563  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 3606   4564   
@@ -1,3 +1,2 @@
 3607   4565   
GET // HTTP/1.1
 3608   4566   
Host:example.amazonaws.com
 3609         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3610   4567   
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
 3611   4568   
new file mode 100644
 3612   4569   
index 0000000..0468d80
 3613         -
-- /dev/null
        4570  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/context.json
 3614   4571   
@@ -0,0 +1,12 @@
        4572  +
{
        4573  +
    "credentials": {
        4574  +
        "access_key_id": "AKIDEXAMPLE",
        4575  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4576  +
    },
        4577  +
    "expiration_in_seconds": 3600,
        4578  +
    "normalize": true,
        4579  +
    "region": "us-east-1",
        4580  +
    "service": "service",
        4581  +
    "sign_body": false,
        4582  +
    "timestamp": "2015-08-30T12:36:00Z"
        4583  +
}
              \
 No newline at end of file
 3615   4584   
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
 3616   4585   
similarity index 99%
 3617   4586   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-canonical-request.txt
 3618   4587   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-canonical-request.txt
 3619   4588   
index 2e36c20..a51f1ba 100644
 3620   4589   
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
 3621   4590   
new file mode 100644
 3622   4591   
index 0000000..f5c871f
 3623         -
-- /dev/null
        4592  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signature.txt
 3624   4593   
@@ -0,0 +1 @@
        4594  +
304502206b0f9b99fe4e4b3bbcb69dd6ca076c847e676161b6fb4cd2bc776f357ece3d07022100fafc5606c7b1a45aa6ce6a7a3a68b07875315b8f952f9a192a420e407e8d1cef
              \
 No newline at end of file
 3625   4595   
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
 3626   4596   
new file mode 100644
 3627   4597   
index 0000000..bda4718
 3628         -
-- /dev/null
        4598  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signed-request.txt
 3629   4599   
@@ -0,0 +1,6 @@
        4600  +
GET /./example HTTP/1.1
        4601  +
Host:example.amazonaws.com
        4602  +
X-Amz-Date:20150830T123600Z
        4603  +
X-Amz-Region-Set:us-east-1
        4604  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221008cb5fa4d42bdd0c293d58ce748128be3a41693d25cfd701e281bf0c0bc28f41a022100b863217c8f05146ff1b4282706bc78781b1425c2d36a09127116e852e31fc974
        4605  +
 3630   4606   
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
 3631   4607   
similarity index 99%
 3632   4608   
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
 3633   4609   
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
 3634   4610   
index cd30e8b..2ffe879 100644
 3635   4611   
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
 3636   4612   
new file mode 100644
 3637   4613   
index 0000000..379dcb2
 3638         -
-- /dev/null
        4614  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/public-key.json
 3639   4615   
@@ -0,0 +1,4 @@
        4616  +
{
        4617  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4618  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4619  +
}
 3640   4620   
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
 3641   4621   
similarity index 99%
 3642   4622   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-canonical-request.txt
 3643   4623   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-canonical-request.txt
 3644   4624   
index 77cf28d..45151ea 100644
 3645   4625   
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
 3646   4626   
new file mode 100644
 3647   4627   
index 0000000..11ad7bf
 3648         -
-- /dev/null
        4628  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signature.txt
 3649   4629   
@@ -0,0 +1 @@
        4630  +
3045022004b3d54ffdc33558a93c158a156ef1b50963d051e58ecb88b6809629d6b93860022100d88f70cb68de54e8abc628cb2325bcb32fab1a207d482010955f844812ad5174
              \
 No newline at end of file
 3650   4631   
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
 3651   4632   
new file mode 100644
 3652   4633   
index 0000000..a7537b1
 3653         -
-- /dev/null
        4634  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signed-request.txt
 3654   4635   
@@ -0,0 +1,3 @@
        4636  +
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
        4637  +
Host:example.amazonaws.com
        4638  +
 3655   4639   
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
 3656   4640   
similarity index 99%
 3657   4641   
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
 3658   4642   
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
 3659   4643   
index 49d9b24..b486672 100644
 3660   4644   
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
 3661   4645   
similarity index 65%
 3662   4646   
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
 3663   4647   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 3664   4648   
index 3c91071..5d919c9 100644
 3665         -
-- 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
        4649  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 3666   4650   
@@ -1,3 +1,2 @@
 3667   4651   
GET /./example HTTP/1.1
 3668   4652   
Host:example.amazonaws.com
 3669         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3670   4653   
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
 3671   4654   
new file mode 100644
 3672   4655   
index 0000000..7bee5c7
 3673         -
-- /dev/null
        4656  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/context.json
 3674   4657   
@@ -0,0 +1,12 @@
        4658  +
{
        4659  +
    "credentials": {
        4660  +
        "access_key_id": "AKIDEXAMPLE",
        4661  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4662  +
    },
        4663  +
    "expiration_in_seconds": 3600,
        4664  +
    "normalize": false,
        4665  +
    "region": "us-east-1",
        4666  +
    "service": "service",
        4667  +
    "sign_body": false,
        4668  +
    "timestamp": "2015-08-30T12:36:00Z"
        4669  +
}
              \
 No newline at end of file
 3675   4670   
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
 3676   4671   
similarity index 99%
 3677   4672   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 3678   4673   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 3679   4674   
index 4444842..2355a69 100644
 3680   4675   
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
 3681   4676   
new file mode 100644
 3682   4677   
index 0000000..9c8f737
 3683         -
-- /dev/null
        4678  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signature.txt
 3684   4679   
@@ -0,0 +1 @@
        4680  +
3044022056618e95bf64058b8174e9e52790352380946d9a0a4ab332b530a63f497a80800220105ebcd6c6ee9b034157d21e7c81fdfb72ca640961cee9b49de82e5c1f80ac5e
              \
 No newline at end of file
 3685   4681   
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
 3686   4682   
new file mode 100644
 3687   4683   
index 0000000..aa5980d
 3688         -
-- /dev/null
        4684  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 3689   4685   
@@ -0,0 +1,6 @@
        4686  +
GET /./example HTTP/1.1
        4687  +
Host:example.amazonaws.com
        4688  +
X-Amz-Date:20150830T123600Z
        4689  +
X-Amz-Region-Set:us-east-1
        4690  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221009e2c768ae9904c3d04eba53cfbb7460034029fb1f169b51f82623cc53ae25dc7022100bfe47ecde858ad9ae3311bba5a4fd45fcacdb1795cc6825f0939e5d929a464bf
        4691  +
 3690   4692   
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
 3691   4693   
similarity index 99%
 3692   4694   
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
 3693   4695   
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
 3694   4696   
index cc63510..d056816 100644
 3695   4697   
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
 3696   4698   
new file mode 100644
 3697   4699   
index 0000000..379dcb2
 3698         -
-- /dev/null
        4700  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/public-key.json
 3699   4701   
@@ -0,0 +1,4 @@
        4702  +
{
        4703  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4704  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4705  +
}
 3700   4706   
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
 3701   4707   
similarity index 99%
 3702   4708   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 3703   4709   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 3704   4710   
index ed2cb2d..df9928e 100644
 3705   4711   
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
 3706   4712   
new file mode 100644
 3707   4713   
index 0000000..bb4d86b
 3708         -
-- /dev/null
        4714  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signature.txt
 3709   4715   
@@ -0,0 +1 @@
        4716  +
304502202c31415712324143f4f20aebbd0f8a2fd4fcdd49d68ac95cd6815db3c0e6407b022100cb46cb62bbd024da2e29445c3378a32057b68b272fb2a08c79bfdcbc398505f3
              \
 No newline at end of file
 3710   4717   
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
 3711   4718   
new file mode 100644
 3712   4719   
index 0000000..0061136
 3713         -
-- /dev/null
        4720  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 3714   4721   
@@ -0,0 +1,3 @@
        4722  +
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
        4723  +
Host:example.amazonaws.com
        4724  +
 3715   4725   
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
 3716   4726   
similarity index 99%
 3717   4727   
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
 3718   4728   
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
 3719   4729   
index c9f3b6d..418f2d6 100644
 3720   4730   
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
 3721   4731   
new file mode 100644
 3722   4732   
index 0000000..5d919c9
 3723         -
-- /dev/null
        4733  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/request.txt
 3724   4734   
@@ -0,0 +1,2 @@
        4735  +
GET /./example HTTP/1.1
        4736  +
Host:example.amazonaws.com
 3725   4737   
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
 3726   4738   
new file mode 100644
 3727   4739   
index 0000000..7bee5c7
 3728         -
-- /dev/null
        4740  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/context.json
 3729   4741   
@@ -0,0 +1,12 @@
        4742  +
{
        4743  +
    "credentials": {
        4744  +
        "access_key_id": "AKIDEXAMPLE",
        4745  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4746  +
    },
        4747  +
    "expiration_in_seconds": 3600,
        4748  +
    "normalize": false,
        4749  +
    "region": "us-east-1",
        4750  +
    "service": "service",
        4751  +
    "sign_body": false,
        4752  +
    "timestamp": "2015-08-30T12:36:00Z"
        4753  +
}
              \
 No newline at end of file
 3730   4754   
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
 3731   4755   
similarity index 99%
 3732   4756   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-canonical-request.txt
 3733   4757   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-canonical-request.txt
 3734   4758   
index 8a4d33b..5f809da 100644
 3735   4759   
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
 3736   4760   
new file mode 100644
 3737   4761   
index 0000000..60179e9
 3738         -
-- /dev/null
        4762  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signature.txt
 3739   4763   
@@ -0,0 +1 @@
        4764  +
3046022100fee7e772befdf85d3f9871798d5e08e93ad3f5d5d408b41387ba55714244809b0221008268d33835753dcdbd0a4d149d902eed071c41b70c230ecf56e0120a0f7d72a1
              \
 No newline at end of file
 3740   4765   
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
 3741   4766   
new file mode 100644
 3742   4767   
index 0000000..72bf1b7
 3743         -
-- /dev/null
        4768  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signed-request.txt
 3744   4769   
@@ -0,0 +1,6 @@
        4770  +
GET // HTTP/1.1
        4771  +
Host:example.amazonaws.com
        4772  +
X-Amz-Date:20150830T123600Z
        4773  +
X-Amz-Region-Set:us-east-1
        4774  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022061f03990d40a274470a1621b6e12b64452083a61218be77e48132a965da27377022100cdff18369b7361b1e33bd6cb5b216cdf88d390121447d442f59ccf84eb6489f7
        4775  +
 3745   4776   
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
 3746   4777   
similarity index 99%
 3747   4778   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-string-to-sign.txt
 3748   4779   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-string-to-sign.txt
 3749   4780   
index 874c01c..2b3bf67 100644
 3750   4781   
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
 3751   4782   
new file mode 100644
 3752   4783   
index 0000000..379dcb2
 3753         -
-- /dev/null
        4784  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/public-key.json
 3754   4785   
@@ -0,0 +1,4 @@
        4786  +
{
        4787  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4788  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4789  +
}
 3755   4790   
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
 3756   4791   
similarity index 99%
 3757   4792   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-canonical-request.txt
 3758   4793   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-canonical-request.txt
 3759   4794   
index 81d7b0b..d10ad29 100644
 3760   4795   
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
 3761   4796   
new file mode 100644
 3762   4797   
index 0000000..d9bd824
 3763         -
-- /dev/null
        4798  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signature.txt
 3764   4799   
@@ -0,0 +1 @@
        4800  +
3045022100abcadf84ed6f4bf5c19df3220b13e370ef093e5e7a5a5093c1a796a3de7804710220568ec0dafd60aa764002ce2ac7c89f403b47142dc7e0e48ded1691929488c88e
              \
 No newline at end of file
 3765   4801   
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
 3766   4802   
new file mode 100644
 3767   4803   
index 0000000..19d1d46
 3768         -
-- /dev/null
        4804  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signed-request.txt
 3769   4805   
@@ -0,0 +1,3 @@
        4806  +
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
        4807  +
Host:example.amazonaws.com
        4808  +
 3770   4809   
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
 3771   4810   
similarity index 99%
 3772   4811   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-string-to-sign.txt
 3773   4812   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-string-to-sign.txt
 3774   4813   
index 17e5279..24c8a5e 100644
 3775   4814   
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
 3776   4815   
new file mode 100644
 3777   4816   
index 0000000..25bc21e
 3778         -
-- /dev/null
        4817  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/request.txt
 3779   4818   
@@ -0,0 +1,2 @@
        4819  +
GET // HTTP/1.1
        4820  +
Host:example.amazonaws.com
 3780   4821   
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
 3781   4822   
new file mode 100644
 3782   4823   
index 0000000..0468d80
 3783         -
-- /dev/null
        4824  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/context.json
 3784   4825   
@@ -0,0 +1,12 @@
        4826  +
{
        4827  +
    "credentials": {
        4828  +
        "access_key_id": "AKIDEXAMPLE",
        4829  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4830  +
    },
        4831  +
    "expiration_in_seconds": 3600,
        4832  +
    "normalize": true,
        4833  +
    "region": "us-east-1",
        4834  +
    "service": "service",
        4835  +
    "sign_body": false,
        4836  +
    "timestamp": "2015-08-30T12:36:00Z"
        4837  +
}
              \
 No newline at end of file
 3785   4838   
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
 3786   4839   
similarity index 99%
 3787   4840   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-canonical-request.txt
 3788   4841   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-canonical-request.txt
 3789   4842   
index fdf9c48..a8e9e02 100644
 3790   4843   
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
 3791   4844   
new file mode 100644
 3792   4845   
index 0000000..ffe1b60
 3793         -
-- /dev/null
        4846  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signature.txt
 3794   4847   
@@ -0,0 +1 @@
        4848  +
304402205dd203fd6b973e5fb088569ec27db1e267ef4a728f177e88fcc65f299255c0ab02206da878f40c64094595aa4e808849b69025f1c9b9f4be0f0e6ab8cd7a04e81d77
              \
 No newline at end of file
 3795   4849   
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
 3796   4850   
new file mode 100644
 3797   4851   
index 0000000..3189f55
 3798         -
-- /dev/null
        4852  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signed-request.txt
 3799   4853   
@@ -0,0 +1,6 @@
        4854  +
GET //example// HTTP/1.1
        4855  +
Host:example.amazonaws.com
        4856  +
X-Amz-Date:20150830T123600Z
        4857  +
X-Amz-Region-Set:us-east-1
        4858  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203d34870fcc77b0f5a3f6d440cd1cecb75c7e534cfbcc68f60743d308ae92fef602200f9fbaacc5010b9a7e046b1b5ae58764bd32c24c47ef65b63ad9ff756c478e4d
        4859  +
 3800   4860   
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
 3801   4861   
similarity index 99%
 3802   4862   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-string-to-sign.txt
 3803   4863   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-string-to-sign.txt
 3804   4864   
index 8f9c95e..430020e 100644
 3805   4865   
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
 3806   4866   
new file mode 100644
 3807   4867   
index 0000000..379dcb2
 3808         -
-- /dev/null
        4868  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/public-key.json
 3809   4869   
@@ -0,0 +1,4 @@
        4870  +
{
        4871  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4872  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4873  +
}
 3810   4874   
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
 3811   4875   
similarity index 99%
 3812   4876   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-canonical-request.txt
 3813   4877   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-canonical-request.txt
 3814   4878   
index 1046735..8d41e37 100644
 3815   4879   
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
 3816   4880   
new file mode 100644
 3817   4881   
index 0000000..93a0fa4
 3818         -
-- /dev/null
        4882  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signature.txt
 3819   4883   
@@ -0,0 +1 @@
        4884  +
3045022100dfd2281b396d138207f0e58889bd6cc4d95ffd8d64e6f37ef2a9f2a15cab6944022060d05a747cd4e3c49cb50bf58d834ae917cd1ebd1524a352fb64f4d54f9ba279
              \
 No newline at end of file
 3820   4885   
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
 3821   4886   
new file mode 100644
 3822   4887   
index 0000000..65c8cb6
 3823         -
-- /dev/null
        4888  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signed-request.txt
 3824   4889   
@@ -0,0 +1,3 @@
        4890  +
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
        4891  +
Host:example.amazonaws.com
        4892  +
 3825   4893   
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
 3826   4894   
similarity index 99%
 3827   4895   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-string-to-sign.txt
 3828   4896   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-string-to-sign.txt
 3829   4897   
index b293cc2..0f4c4c5 100644
 3830   4898   
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
 3831   4899   
similarity index 65%
 3832   4900   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
 3833   4901   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 3834   4902   
index a4307ce..12e0931 100644
 3835         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
        4903  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 3836   4904   
@@ -1,3 +1,2 @@
 3837   4905   
GET //example// HTTP/1.1
 3838   4906   
Host:example.amazonaws.com
 3839         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3840   4907   
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
 3841   4908   
new file mode 100644
 3842   4909   
index 0000000..7bee5c7
 3843         -
-- /dev/null
        4910  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/context.json
 3844   4911   
@@ -0,0 +1,12 @@
        4912  +
{
        4913  +
    "credentials": {
        4914  +
        "access_key_id": "AKIDEXAMPLE",
        4915  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4916  +
    },
        4917  +
    "expiration_in_seconds": 3600,
        4918  +
    "normalize": false,
        4919  +
    "region": "us-east-1",
        4920  +
    "service": "service",
        4921  +
    "sign_body": false,
        4922  +
    "timestamp": "2015-08-30T12:36:00Z"
        4923  +
}
              \
 No newline at end of file
 3845   4924   
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
 3846   4925   
similarity index 99%
 3847   4926   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-canonical-request.txt
 3848   4927   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-canonical-request.txt
 3849   4928   
index a9c55f6..76f55ed 100644
 3850   4929   
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
 3851   4930   
new file mode 100644
 3852   4931   
index 0000000..de333b2
 3853         -
-- /dev/null
        4932  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signature.txt
 3854   4933   
@@ -0,0 +1 @@
        4934  +
3044022039ccb6afb5f0b574cfc8fec2e9158269bbe28f9e5747acc032d1ea17617f8b2002204933ee3e4ad4ec425c90593a68db99fcece29ae45906dec40c2204290cedf8bd
              \
 No newline at end of file
 3855   4935   
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
 3856   4936   
new file mode 100644
 3857   4937   
index 0000000..773ce63
 3858         -
-- /dev/null
        4938  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signed-request.txt
 3859   4939   
@@ -0,0 +1,6 @@
        4940  +
GET //example// HTTP/1.1
        4941  +
Host:example.amazonaws.com
        4942  +
X-Amz-Date:20150830T123600Z
        4943  +
X-Amz-Region-Set:us-east-1
        4944  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502202450e5abfccb424d5a0e2d5d1a084e76abc5290ae567a97f5174bfed575fd519022100a5e743040a2bdd3cd7889070e1d190d5782e7591a715370f9bea04dc2702dbab
        4945  +
 3860   4946   
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
 3861   4947   
similarity index 99%
 3862   4948   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-string-to-sign.txt
 3863   4949   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-string-to-sign.txt
 3864   4950   
index 5c4c2cd..46c3265 100644
 3865   4951   
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
 3866   4952   
new file mode 100644
 3867   4953   
index 0000000..379dcb2
 3868         -
-- /dev/null
        4954  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/public-key.json
 3869   4955   
@@ -0,0 +1,4 @@
        4956  +
{
        4957  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4958  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4959  +
}
 3870   4960   
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
 3871   4961   
similarity index 99%
 3872   4962   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-canonical-request.txt
 3873   4963   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-canonical-request.txt
 3874   4964   
index c878ab4..6047ccf 100644
 3875   4965   
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
 3876   4966   
new file mode 100644
 3877   4967   
index 0000000..d61fcd0
 3878         -
-- /dev/null
        4968  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signature.txt
 3879   4969   
@@ -0,0 +1 @@
        4970  +
3045022100fa1d3e99997a184d59e23fb8bfeca08a5f94f2e7b89b0320d11deacab3593f0f022009c0785ec02c5dda370a3eb714feb51e3b0d56df674571bf7146bf8277897e65
              \
 No newline at end of file
 3880   4971   
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
 3881   4972   
new file mode 100644
 3882   4973   
index 0000000..3e37b5b
 3883         -
-- /dev/null
        4974  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signed-request.txt
 3884   4975   
@@ -0,0 +1,3 @@
        4976  +
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
        4977  +
Host:example.amazonaws.com
        4978  +
 3885   4979   
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
 3886   4980   
similarity index 99%
 3887   4981   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-string-to-sign.txt
 3888   4982   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-string-to-sign.txt
 3889   4983   
index 5f59645..2537d28 100644
 3890   4984   
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
 3891   4985   
new file mode 100644
 3892   4986   
index 0000000..12e0931
 3893         -
-- /dev/null
        4987  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/request.txt
 3894   4988   
@@ -0,0 +1,2 @@
        4989  +
GET //example// HTTP/1.1
        4990  +
Host:example.amazonaws.com
 3895   4991   
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
 3896   4992   
new file mode 100644
 3897   4993   
index 0000000..0468d80
 3898         -
-- /dev/null
        4994  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/context.json
 3899   4995   
@@ -0,0 +1,12 @@
        4996  +
{
        4997  +
    "credentials": {
        4998  +
        "access_key_id": "AKIDEXAMPLE",
        4999  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5000  +
    },
        5001  +
    "expiration_in_seconds": 3600,
        5002  +
    "normalize": true,
        5003  +
    "region": "us-east-1",
        5004  +
    "service": "service",
        5005  +
    "sign_body": false,
        5006  +
    "timestamp": "2015-08-30T12:36:00Z"
        5007  +
}
              \
 No newline at end of file
 3900   5008   
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
 3901   5009   
new file mode 100644
 3902   5010   
index 0000000..0b2b616
 3903         -
-- /dev/null
        5011  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-canonical-request.txt
 3904   5012   
@@ -0,0 +1,9 @@
        5013  +
GET
        5014  +
/example%20space/
        5015  +
        5016  +
host:example.amazonaws.com
        5017  +
x-amz-date:20150830T123600Z
        5018  +
x-amz-region-set:us-east-1
        5019  +
        5020  +
host;x-amz-date;x-amz-region-set
        5021  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3905   5022   
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
 3906   5023   
new file mode 100644
 3907   5024   
index 0000000..6e7841d
 3908         -
-- /dev/null
        5025  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signature.txt
 3909   5026   
@@ -0,0 +1 @@
        5027  +
304502202292b4f0e4f1495b9ceb3b77349efeffdce42cb5461f810db3983005c1e772ca022100b4b6175661196a82f5b59968315517e1ffdde58d2e3eba10d3bfe171cde625c4
              \
 No newline at end of file
 3910   5028   
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
 3911   5029   
new file mode 100644
 3912   5030   
index 0000000..0969cd3
 3913         -
-- /dev/null
        5031  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signed-request.txt
 3914   5032   
@@ -0,0 +1,6 @@
        5033  +
GET /example space/ HTTP/1.1
        5034  +
Host:example.amazonaws.com
        5035  +
X-Amz-Date:20150830T123600Z
        5036  +
X-Amz-Region-Set:us-east-1
        5037  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100e8e0ec99a8d287073e078543fdbdeba108cdef097a52c7556874076072350200022100e59d9e0f48209bea00faa47d485d850eb72747db83927a2a43b5ebab5ca2b545
        5038  +
 3915   5039   
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
 3916   5040   
new file mode 100644
 3917   5041   
index 0000000..ddae6e2
 3918         -
-- /dev/null
        5042  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-string-to-sign.txt
 3919   5043   
@@ -0,0 +1,4 @@
        5044  +
AWS4-ECDSA-P256-SHA256
        5045  +
20150830T123600Z
        5046  +
20150830/service/aws4_request
        5047  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 3920   5048   
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
 3921   5049   
new file mode 100644
 3922   5050   
index 0000000..379dcb2
 3923         -
-- /dev/null
        5051  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/public-key.json
 3924   5052   
@@ -0,0 +1,4 @@
        5053  +
{
        5054  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5055  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5056  +
}
 3925   5057   
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
 3926   5058   
new file mode 100644
 3927   5059   
index 0000000..a66b3cb
 3928         -
-- /dev/null
        5060  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-canonical-request.txt
 3929   5061   
@@ -0,0 +1,7 @@
        5062  +
GET
        5063  +
/example%20space/
        5064  +
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
        5065  +
host:example.amazonaws.com
        5066  +
        5067  +
host
        5068  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3930   5069   
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
 3931   5070   
new file mode 100644
 3932   5071   
index 0000000..b3253ae
 3933         -
-- /dev/null
        5072  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signature.txt
 3934   5073   
@@ -0,0 +1 @@
        5074  +
3045022100fc068fdda7586bec9ac9ed341e7a81bf1e1f8c60fee6e22165868ecac62e404d02200620b5d68b9be75210336618fc0a884439ce1ae93085adb03e27f1ce7ca4912e
              \
 No newline at end of file
 3935   5075   
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
 3936   5076   
new file mode 100644
 3937   5077   
index 0000000..9e335b2
 3938         -
-- /dev/null
        5078  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signed-request.txt
 3939   5079   
@@ -0,0 +1,3 @@
        5080  +
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
        5081  +
Host:example.amazonaws.com
        5082  +
 3940   5083   
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
 3941   5084   
new file mode 100644
 3942   5085   
index 0000000..b6ff6fb
 3943         -
-- /dev/null
        5086  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-string-to-sign.txt
 3944   5087   
@@ -0,0 +1,4 @@
        5088  +
AWS4-ECDSA-P256-SHA256
        5089  +
20150830T123600Z
        5090  +
20150830/service/aws4_request
        5091  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 3945   5092   
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
 3946   5093   
new file mode 100644
 3947   5094   
index 0000000..ab509ab
 3948         -
-- /dev/null
        5095  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/request.txt
 3949   5096   
@@ -0,0 +1,2 @@
        5097  +
GET /example space/ HTTP/1.1
        5098  +
Host:example.amazonaws.com
 3950   5099   
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
 3951   5100   
new file mode 100644
 3952   5101   
index 0000000..7bee5c7
 3953         -
-- /dev/null
        5102  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/context.json
 3954   5103   
@@ -0,0 +1,12 @@
        5104  +
{
        5105  +
    "credentials": {
        5106  +
        "access_key_id": "AKIDEXAMPLE",
        5107  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5108  +
    },
        5109  +
    "expiration_in_seconds": 3600,
        5110  +
    "normalize": false,
        5111  +
    "region": "us-east-1",
        5112  +
    "service": "service",
        5113  +
    "sign_body": false,
        5114  +
    "timestamp": "2015-08-30T12:36:00Z"
        5115  +
}
              \
 No newline at end of file
 3955   5116   
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
 3956   5117   
new file mode 100644
 3957   5118   
index 0000000..0b2b616
 3958         -
-- /dev/null
        5119  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-canonical-request.txt
 3959   5120   
@@ -0,0 +1,9 @@
        5121  +
GET
        5122  +
/example%20space/
        5123  +
        5124  +
host:example.amazonaws.com
        5125  +
x-amz-date:20150830T123600Z
        5126  +
x-amz-region-set:us-east-1
        5127  +
        5128  +
host;x-amz-date;x-amz-region-set
        5129  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3960   5130   
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
 3961   5131   
new file mode 100644
 3962   5132   
index 0000000..e75ae08
 3963         -
-- /dev/null
        5133  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signature.txt
 3964   5134   
@@ -0,0 +1 @@
        5135  +
3046022100881d1dce37131cd3248fa4cfb63f050e8985c3de5a58f654a8b263d52ad576180221009316e13742504474cf33631bb5f2fa89f4990c911ad317be831a6de015cf4054
              \
 No newline at end of file
 3965   5136   
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
 3966   5137   
new file mode 100644
 3967   5138   
index 0000000..cb089db
 3968         -
-- /dev/null
        5139  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signed-request.txt
 3969   5140   
@@ -0,0 +1,6 @@
        5141  +
GET /example space/ HTTP/1.1
        5142  +
Host:example.amazonaws.com
        5143  +
X-Amz-Date:20150830T123600Z
        5144  +
X-Amz-Region-Set:us-east-1
        5145  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100a26695d793a8e7d2ed2a3495402e9b4bf8e5b05e767d303f57d9515f617ebae5022100c4b89f5648567c08b6d173b6d733f5c012bb615cd38039109f64db56efecc851
        5146  +
 3970   5147   
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
 3971   5148   
new file mode 100644
 3972   5149   
index 0000000..ddae6e2
 3973         -
-- /dev/null
        5150  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-string-to-sign.txt
 3974   5151   
@@ -0,0 +1,4 @@
        5152  +
AWS4-ECDSA-P256-SHA256
        5153  +
20150830T123600Z
        5154  +
20150830/service/aws4_request
        5155  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 3975   5156   
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
 3976   5157   
new file mode 100644
 3977   5158   
index 0000000..379dcb2
 3978         -
-- /dev/null
        5159  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/public-key.json
 3979   5160   
@@ -0,0 +1,4 @@
        5161  +
{
        5162  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5163  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5164  +
}
 3980   5165   
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
 3981   5166   
new file mode 100644
 3982   5167   
index 0000000..a66b3cb
 3983         -
-- /dev/null
        5168  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-canonical-request.txt
 3984   5169   
@@ -0,0 +1,7 @@
        5170  +
GET
        5171  +
/example%20space/
        5172  +
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
        5173  +
host:example.amazonaws.com
        5174  +
        5175  +
host
        5176  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3985   5177   
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
 3986   5178   
new file mode 100644
 3987   5179   
index 0000000..66a80c3
 3988         -
-- /dev/null
        5180  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signature.txt
 3989   5181   
@@ -0,0 +1 @@
        5182  +
304502201825fe5d62f321a740cbe590ce0c0c17045eed9acbbbd574d3cefbec349d06c5022100bcd482f85374b24d9f1f5000d2de7e12a4e0c8f5277e73d29c41ecc45390e731
              \
 No newline at end of file
 3990   5183   
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
 3991   5184   
new file mode 100644
 3992   5185   
index 0000000..7d1b9d9
 3993         -
-- /dev/null
        5186  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signed-request.txt
 3994   5187   
@@ -0,0 +1,3 @@
        5188  +
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
        5189  +
Host:example.amazonaws.com
        5190  +
 3995   5191   
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
 3996   5192   
new file mode 100644
 3997   5193   
index 0000000..b6ff6fb
 3998         -
-- /dev/null
        5194  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-string-to-sign.txt
 3999   5195   
@@ -0,0 +1,4 @@
        5196  +
AWS4-ECDSA-P256-SHA256
        5197  +
20150830T123600Z
        5198  +
20150830/service/aws4_request
        5199  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 4000   5200   
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
 4001   5201   
new file mode 100644
 4002   5202   
index 0000000..ab509ab
 4003         -
-- /dev/null
        5203  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/request.txt
 4004   5204   
@@ -0,0 +1,2 @@
        5205  +
GET /example space/ HTTP/1.1
        5206  +
Host:example.amazonaws.com
 4005   5207   
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
 4006   5208   
new file mode 100644
 4007   5209   
index 0000000..0468d80
 4008         -
-- /dev/null
        5210  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/context.json
 4009   5211   
@@ -0,0 +1,12 @@
        5212  +
{
        5213  +
    "credentials": {
        5214  +
        "access_key_id": "AKIDEXAMPLE",
        5215  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5216  +
    },
        5217  +
    "expiration_in_seconds": 3600,
        5218  +
    "normalize": true,
        5219  +
    "region": "us-east-1",
        5220  +
    "service": "service",
        5221  +
    "sign_body": false,
        5222  +
    "timestamp": "2015-08-30T12:36:00Z"
        5223  +
}
              \
 No newline at end of file
 4010   5224   
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
 4011   5225   
similarity index 99%
 4012   5226   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-canonical-request.txt
 4013   5227   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-canonical-request.txt
 4014   5228   
index b0db648..46d76bb 100644
 4015   5229   
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
 4016   5230   
new file mode 100644
 4017   5231   
index 0000000..53c0cb6
 4018         -
-- /dev/null
        5232  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signature.txt
 4019   5233   
@@ -0,0 +1 @@
        5234  +
304502204303d34750ced762f4e5af2c61ba70c9f5830d8a5c7fc418a02823d61673ca32022100c26cf8f38007155cb8bd3e684697063ad8f421a91be796d78b14b126e25d3680
              \
 No newline at end of file
 4020   5235   
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
 4021   5236   
new file mode 100644
 4022   5237   
index 0000000..3bdb653
 4023         -
-- /dev/null
        5238  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signed-request.txt
 4024   5239   
@@ -0,0 +1,6 @@
        5240  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5241  +
Host:example.amazonaws.com
        5242  +
X-Amz-Date:20150830T123600Z
        5243  +
X-Amz-Region-Set:us-east-1
        5244  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206a228bcbe26141c2c5065525b98ea00b793470e04e655006269f740e320215930220160015e35502fa89a96f5fed59981af0896b60ecea6a68606a0be368bca73f2c
        5245  +
 4025   5246   
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
 4026   5247   
similarity index 99%
 4027   5248   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-string-to-sign.txt
 4028   5249   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-string-to-sign.txt
 4029   5250   
index 20c7cd6..3b30173 100644
 4030   5251   
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
 4031   5252   
new file mode 100644
 4032   5253   
index 0000000..379dcb2
 4033         -
-- /dev/null
        5254  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/public-key.json
 4034   5255   
@@ -0,0 +1,4 @@
        5256  +
{
        5257  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5258  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5259  +
}
 4035   5260   
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
 4036   5261   
similarity index 99%
 4037   5262   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-canonical-request.txt
 4038   5263   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-canonical-request.txt
 4039   5264   
index f9fb726..7e93f58 100644
 4040   5265   
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
 4041   5266   
new file mode 100644
 4042   5267   
index 0000000..48311a8
 4043         -
-- /dev/null
        5268  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signature.txt
 4044   5269   
@@ -0,0 +1 @@
        5270  +
3045022100a8e6e2918ceb211f77810150d828be217af238ca95db6f88264d668ffacefb8b02204122d651c775a3ed8f40f3bfe37a2c8fec28cd53027b599eddd7115e06ca4bb0
              \
 No newline at end of file
 4045   5271   
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
 4046   5272   
new file mode 100644
 4047   5273   
index 0000000..82da9be
 4048         -
-- /dev/null
        5274  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signed-request.txt
 4049   5275   
@@ -0,0 +1,3 @@
        5276  +
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
        5277  +
Host:example.amazonaws.com
        5278  +
 4050   5279   
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
 4051   5280   
similarity index 99%
 4052   5281   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-string-to-sign.txt
 4053   5282   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-string-to-sign.txt
 4054   5283   
index ef06e89..4aab9a2 100644
 4055   5284   
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
 4056   5285   
similarity index 80%
 4057   5286   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
 4058   5287   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 4059   5288   
index da760cd..a149694 100644
 4060         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
        5289  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 4061   5290   
@@ -1,3 +1,2 @@
 4062   5291   
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 4063   5292   
Host:example.amazonaws.com
 4064         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4065   5293   
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
 4066   5294   
new file mode 100644
 4067   5295   
index 0000000..0468d80
 4068         -
-- /dev/null
        5296  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/context.json
 4069   5297   
@@ -0,0 +1,12 @@
        5298  +
{
        5299  +
    "credentials": {
        5300  +
        "access_key_id": "AKIDEXAMPLE",
        5301  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5302  +
    },
        5303  +
    "expiration_in_seconds": 3600,
        5304  +
    "normalize": true,
        5305  +
    "region": "us-east-1",
        5306  +
    "service": "service",
        5307  +
    "sign_body": false,
        5308  +
    "timestamp": "2015-08-30T12:36:00Z"
        5309  +
}
              \
 No newline at end of file
 4070   5310   
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
 4071   5311   
new file mode 100644
 4072   5312   
index 0000000..0f1afe7
 4073         -
-- /dev/null
        5313  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-canonical-request.txt
 4074   5314   
@@ -0,0 +1,9 @@
        5315  +
GET
        5316  +
/%E1%88%B4
        5317  +
        5318  +
host:example.amazonaws.com
        5319  +
x-amz-date:20150830T123600Z
        5320  +
x-amz-region-set:us-east-1
        5321  +
        5322  +
host;x-amz-date;x-amz-region-set
        5323  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4075   5324   
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
 4076   5325   
new file mode 100644
 4077   5326   
index 0000000..4b9af6c
 4078         -
-- /dev/null
        5327  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signature.txt
 4079   5328   
@@ -0,0 +1 @@
        5329  +
3044022009b73628ce2929e224b781c591bdc93fc3381cef5f63992eefb82a286276fa0902203cbc6071d1be7b8c91ec0a04b921881c48cbea2a0a86481f6fa7a983e36190c0
              \
 No newline at end of file
 4080   5330   
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
 4081   5331   
new file mode 100644
 4082   5332   
index 0000000..d42d7b3
 4083         -
-- /dev/null
        5333  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signed-request.txt
 4084   5334   
@@ -0,0 +1,6 @@
        5335  +
GET /ሴ HTTP/1.1
        5336  +
Host:example.amazonaws.com
        5337  +
X-Amz-Date:20150830T123600Z
        5338  +
X-Amz-Region-Set:us-east-1
        5339  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210082c462efc22f340d7d20b19e0c9b38400e9395bedd9269e01e959ef915ca2846022050d38df1572786ef8befe01d888335c15b0f17fb1d795858fa3cb79e060ba375
        5340  +
 4085   5341   
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
 4086   5342   
new file mode 100644
 4087   5343   
index 0000000..0827f62
 4088         -
-- /dev/null
        5344  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-string-to-sign.txt
 4089   5345   
@@ -0,0 +1,4 @@
        5346  +
AWS4-ECDSA-P256-SHA256
        5347  +
20150830T123600Z
        5348  +
20150830/service/aws4_request
        5349  +
7c8a7084825e715f0e217a7470ce3611bcfedb5b70329d9b36bba5cefd39c11a
              \
 No newline at end of file
 4090   5350   
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
 4091   5351   
new file mode 100644
 4092   5352   
index 0000000..379dcb2
 4093         -
-- /dev/null
        5353  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/public-key.json
 4094   5354   
@@ -0,0 +1,4 @@
        5355  +
{
        5356  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5357  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5358  +
}
 4095   5359   
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
 4096   5360   
new file mode 100644
 4097   5361   
index 0000000..a41a2f8
 4098         -
-- /dev/null
        5362  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-canonical-request.txt
 4099   5363   
@@ -0,0 +1,7 @@
        5364  +
GET
        5365  +
/%E1%88%B4
        5366  +
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
        5367  +
host:example.amazonaws.com
        5368  +
        5369  +
host
        5370  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4100   5371   
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
 4101   5372   
new file mode 100644
 4102   5373   
index 0000000..a5c7f4f
 4103         -
-- /dev/null
        5374  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signature.txt
 4104   5375   
@@ -0,0 +1 @@
        5376  +
30460221008cf2ac3d46b7529fe7b73add56626a546fc9372b458e197dbd355198465e0918022100c059b86e01bd11d31c5fe19ee7c73fe3b8058ad2cebe2fe74c779c4a6a95684a
              \
 No newline at end of file
 4105   5377   
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
 4106   5378   
new file mode 100644
 4107   5379   
index 0000000..492ed33
 4108         -
-- /dev/null
        5380  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signed-request.txt
 4109   5381   
@@ -0,0 +1,3 @@
        5382  +
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
        5383  +
Host:example.amazonaws.com
        5384  +
 4110   5385   
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
 4111   5386   
new file mode 100644
 4112   5387   
index 0000000..a93108f
 4113         -
-- /dev/null
        5388  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-string-to-sign.txt
 4114   5389   
@@ -0,0 +1,4 @@
        5390  +
AWS4-ECDSA-P256-SHA256
        5391  +
20150830T123600Z
        5392  +
20150830/service/aws4_request
        5393  +
b77c78c8276c5eac930db70b21b69b34d0c2560e1a963ab28e28481ef6a4ff66
              \
 No newline at end of file
 4115   5394   
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
 4116   5395   
new file mode 100644
 4117   5396   
index 0000000..9e273f6
 4118         -
-- /dev/null
        5397  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/request.txt
 4119   5398   
@@ -0,0 +1,2 @@
        5399  +
GET /ሴ HTTP/1.1
        5400  +
Host:example.amazonaws.com
 4120   5401   
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
 4121   5402   
new file mode 100644
 4122   5403   
index 0000000..0468d80
 4123         -
-- /dev/null
        5404  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/context.json
 4124   5405   
@@ -0,0 +1,12 @@
        5406  +
{
        5407  +
    "credentials": {
        5408  +
        "access_key_id": "AKIDEXAMPLE",
        5409  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5410  +
    },
        5411  +
    "expiration_in_seconds": 3600,
        5412  +
    "normalize": true,
        5413  +
    "region": "us-east-1",
        5414  +
    "service": "service",
        5415  +
    "sign_body": false,
        5416  +
    "timestamp": "2015-08-30T12:36:00Z"
        5417  +
}
              \
 No newline at end of file
 4125   5418   
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
 4126   5419   
similarity index 99%
 4127   5420   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-canonical-request.txt
 4128   5421   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-canonical-request.txt
 4129   5422   
index bb9d4bf..edc0bb4 100644
 4130   5423   
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
 4131   5424   
new file mode 100644
 4132   5425   
index 0000000..ee9a272
 4133         -
-- /dev/null
        5426  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signature.txt
 4134   5427   
@@ -0,0 +1 @@
        5428  +
3044022075e5fe54105695e4af6f5b59ff39f4f1d84de3bfdd546a6b9212936a78e743ac02204f25f3b9826688eb9743088f426eabd6b306432fd2c4c5c5aa2bbb9058267542
              \
 No newline at end of file
 4135   5429   
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
 4136   5430   
new file mode 100644
 4137   5431   
index 0000000..2090343
 4138         -
-- /dev/null
        5432  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signed-request.txt
 4139   5433   
@@ -0,0 +1,6 @@
        5434  +
GET /?Param1=value1 HTTP/1.1
        5435  +
Host:example.amazonaws.com
        5436  +
X-Amz-Date:20150830T123600Z
        5437  +
X-Amz-Region-Set:us-east-1
        5438  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210093d40fe05684ddadfadfafc4b8565d18ca94d590fc897577224bf09696bbde6102206f12bb5e2503781303cf6880c0a2136d4b820221eb9d6ac5ad61378b16b8ea5d
        5439  +
 4140   5440   
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
 4141   5441   
similarity index 99%
 4142   5442   
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
 4143   5443   
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
 4144   5444   
index a176f1d..06ed74f 100644
 4145   5445   
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
 4146   5446   
new file mode 100644
 4147   5447   
index 0000000..379dcb2
 4148         -
-- /dev/null
        5448  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/public-key.json
 4149   5449   
@@ -0,0 +1,4 @@
        5450  +
{
        5451  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5452  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5453  +
}
 4150   5454   
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
 4151   5455   
similarity index 99%
 4152   5456   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-canonical-request.txt
 4153   5457   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-canonical-request.txt
 4154   5458   
index 344384b..a875d70 100644
 4155   5459   
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
 4156   5460   
new file mode 100644
 4157   5461   
index 0000000..ef93624
 4158         -
-- /dev/null
        5462  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signature.txt
 4159   5463   
@@ -0,0 +1 @@
        5464  +
30460221009a9e99aefe8effed47320e6e9f54cb943e2f72ce638ed7aae2a6711240304b82022100a90e99f053dd51912a6993299229e19aebbd81e68d4d24a1bdedcc6717c9f456
              \
 No newline at end of file
 4160   5465   
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
 4161   5466   
new file mode 100644
 4162   5467   
index 0000000..92829f7
 4163         -
-- /dev/null
        5468  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signed-request.txt
 4164   5469   
@@ -0,0 +1,3 @@
        5470  +
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
        5471  +
Host:example.amazonaws.com
        5472  +
 4165   5473   
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
 4166   5474   
similarity index 99%
 4167   5475   
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
 4168   5476   
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
 4169   5477   
index b625052..4ff9191 100644
 4170   5478   
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
 4171   5479   
similarity index 67%
 4172   5480   
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
 4173   5481   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4174   5482   
index 970d0a0..f4a03bb 100644
 4175         -
-- 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
        5483  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4176   5484   
@@ -1,3 +1,2 @@
 4177   5485   
GET /?Param1=value1 HTTP/1.1
 4178   5486   
Host:example.amazonaws.com
 4179         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4180   5487   
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
 4181   5488   
new file mode 100644
 4182   5489   
index 0000000..0468d80
 4183         -
-- /dev/null
        5490  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/context.json
 4184   5491   
@@ -0,0 +1,12 @@
        5492  +
{
        5493  +
    "credentials": {
        5494  +
        "access_key_id": "AKIDEXAMPLE",
        5495  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5496  +
    },
        5497  +
    "expiration_in_seconds": 3600,
        5498  +
    "normalize": true,
        5499  +
    "region": "us-east-1",
        5500  +
    "service": "service",
        5501  +
    "sign_body": false,
        5502  +
    "timestamp": "2015-08-30T12:36:00Z"
        5503  +
}
              \
 No newline at end of file
 4185   5504   
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
 4186   5505   
new file mode 100644
 4187   5506   
index 0000000..da07537
 4188         -
-- /dev/null
        5507  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-canonical-request.txt
 4189   5508   
@@ -0,0 +1,9 @@
        5509  +
GET
        5510  +
/
        5511  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        5512  +
host:example.amazonaws.com
        5513  +
x-amz-date:20150830T123600Z
        5514  +
x-amz-region-set:us-east-1
        5515  +
        5516  +
host;x-amz-date;x-amz-region-set
        5517  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4190   5518   
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
 4191   5519   
new file mode 100644
 4192   5520   
index 0000000..edb21e5
 4193         -
-- /dev/null
        5521  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signature.txt
 4194   5522   
@@ -0,0 +1 @@
        5523  +
304402201c9d8aa856d87542e2fc29ccb3841bf604d7582a8ab2ca8e6c9e21c98693f35502207052f84ecd1dc8b6468a536e9d1bdc990cf14bae8142c1cc945f15bcf0e87613
              \
 No newline at end of file
 4195   5524   
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
 4196   5525   
new file mode 100644
 4197   5526   
index 0000000..e60394c
 4198         -
-- /dev/null
        5527  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signed-request.txt
 4199   5528   
@@ -0,0 +1,6 @@
        5529  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        5530  +
Host:example.amazonaws.com
        5531  +
X-Amz-Date:20150830T123600Z
        5532  +
X-Amz-Region-Set:us-east-1
        5533  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100cef3137947f52af13fe5591d4ddcff0260176e7b2a668b43ac8f0cba2e489fe502203b4fe53c9fe3e8925643fe0e4c3ec0b3ea6262917bf7300d2e2abb399078e6de
        5534  +
 4200   5535   
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
 4201   5536   
new file mode 100644
 4202   5537   
index 0000000..1dfc886
 4203         -
-- /dev/null
        5538  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-string-to-sign.txt
 4204   5539   
@@ -0,0 +1,4 @@
        5540  +
AWS4-ECDSA-P256-SHA256
        5541  +
20150830T123600Z
        5542  +
20150830/service/aws4_request
        5543  +
55568a29040b287c72015a5ab482d9aaceeb1e9881f3bc946378bc3d6079f6a5
              \
 No newline at end of file
 4205   5544   
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
 4206   5545   
new file mode 100644
 4207   5546   
index 0000000..379dcb2
 4208         -
-- /dev/null
        5547  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/public-key.json
 4209   5548   
@@ -0,0 +1,4 @@
        5549  +
{
        5550  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5551  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5552  +
}
 4210   5553   
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
 4211   5554   
new file mode 100644
 4212   5555   
index 0000000..e94dc0c
 4213         -
-- /dev/null
        5556  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-canonical-request.txt
 4214   5557   
@@ -0,0 +1,7 @@
        5558  +
GET
        5559  +
/
        5560  +
%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
        5561  +
host:example.amazonaws.com
        5562  +
        5563  +
host
        5564  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4215   5565   
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
 4216   5566   
new file mode 100644
 4217   5567   
index 0000000..7489437
 4218         -
-- /dev/null
        5568  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signature.txt
 4219   5569   
@@ -0,0 +1 @@
        5570  +
3046022100dcc853d7fbd59ceebd1ac57d404b979a7252cf88c79dcc6d58167902750235fd022100ffa98128e35b03aa434287165980f78533e9e6dfc80373cea82b047f4f0554ee
              \
 No newline at end of file
 4220   5571   
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
 4221   5572   
new file mode 100644
 4222   5573   
index 0000000..90c0e73
 4223         -
-- /dev/null
        5574  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signed-request.txt
 4224   5575   
@@ -0,0 +1,3 @@
        5576  +
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
        5577  +
Host:example.amazonaws.com
        5578  +
 4225   5579   
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
 4226   5580   
new file mode 100644
 4227   5581   
index 0000000..ab8a711
 4228         -
-- /dev/null
        5582  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-string-to-sign.txt
 4229   5583   
@@ -0,0 +1,4 @@
        5584  +
AWS4-ECDSA-P256-SHA256
        5585  +
20150830T123600Z
        5586  +
20150830/service/aws4_request
        5587  +
56d9ab07692614338f2aa44f1018ad4102b19305fba8b83383d2d7c6ca816614
              \
 No newline at end of file
 4230   5588   
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
 4231   5589   
new file mode 100644
 4232   5590   
index 0000000..368c6e3
 4233         -
-- /dev/null
        5591  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/request.txt
 4234   5592   
@@ -0,0 +1,2 @@
        5593  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        5594  +
Host:example.amazonaws.com
 4235   5595   
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
 4236   5596   
new file mode 100644
 4237   5597   
index 0000000..0468d80
 4238         -
-- /dev/null
        5598  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/context.json
 4239   5599   
@@ -0,0 +1,12 @@
        5600  +
{
        5601  +
    "credentials": {
        5602  +
        "access_key_id": "AKIDEXAMPLE",
        5603  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5604  +
    },
        5605  +
    "expiration_in_seconds": 3600,
        5606  +
    "normalize": true,
        5607  +
    "region": "us-east-1",
        5608  +
    "service": "service",
        5609  +
    "sign_body": false,
        5610  +
    "timestamp": "2015-08-30T12:36:00Z"
        5611  +
}
              \
 No newline at end of file
 4240   5612   
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
 4241   5613   
similarity index 99%
 4242   5614   
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
 4243   5615   
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
 4244   5616   
index 74f625a..3db56f7 100644
 4245   5617   
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
 4246   5618   
new file mode 100644
 4247   5619   
index 0000000..e6042bc
 4248         -
-- /dev/null
        5620  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signature.txt
 4249   5621   
@@ -0,0 +1 @@
        5622  +
3045022100b342b0d62487d235a5baf82e970102670a8d7af34c61f086125d204a90724d9e022070304e846de3de228c57e528b61f4addfdb5fa788a8a452e483c6a286d8803f5
              \
 No newline at end of file
 4250   5623   
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
 4251   5624   
new file mode 100644
 4252   5625   
index 0000000..5505969
 4253         -
-- /dev/null
        5626  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signed-request.txt
 4254   5627   
@@ -0,0 +1,6 @@
        5628  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        5629  +
Host:example.amazonaws.com
        5630  +
X-Amz-Date:20150830T123600Z
        5631  +
X-Amz-Region-Set:us-east-1
        5632  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220394fa0699225f403514cb4db03b7c479f64c5f9864bf520b871bb23a054d6517022100d4445c909fc62a43c6c485a8582621e0e14c6ef1e4218072bc2dcaffc1188f18
        5633  +
 4255   5634   
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
 4256   5635   
similarity index 99%
 4257   5636   
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
 4258   5637   
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
 4259   5638   
index 44873b7..e8f5e31 100644
 4260   5639   
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
 4261   5640   
new file mode 100644
 4262   5641   
index 0000000..379dcb2
 4263         -
-- /dev/null
        5642  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/public-key.json
 4264   5643   
@@ -0,0 +1,4 @@
        5644  +
{
        5645  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5646  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5647  +
}
 4265   5648   
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
 4266   5649   
similarity index 99%
 4267   5650   
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
 4268   5651   
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
 4269   5652   
index 6d30727..3fe6a9f 100644
 4270   5653   
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
 4271   5654   
new file mode 100644
 4272   5655   
index 0000000..3f35de8
 4273         -
-- /dev/null
        5656  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signature.txt
 4274   5657   
@@ -0,0 +1 @@
        5658  +
304402207c976c47b1bcf7333ad10fcf78498bb14a368a6cd8f58703d47c9e91c4468c13022059a3715bafae9410271bf3355ccd0bbc622fe90f3c0168203d83323297789de5
              \
 No newline at end of file
 4275   5659   
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
 4276   5660   
new file mode 100644
 4277   5661   
index 0000000..30b336b
 4278         -
-- /dev/null
        5662  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signed-request.txt
 4279   5663   
@@ -0,0 +1,3 @@
        5664  +
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
        5665  +
Host:example.amazonaws.com
        5666  +
 4280   5667   
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
 4281   5668   
similarity index 99%
 4282   5669   
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
 4283   5670   
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
 4284   5671   
index 99d0510..7f0565f 100644
 4285   5672   
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
 4286   5673   
similarity index 100%
 4287   5674   
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
 4288   5675   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/request.txt
 4289   5676   
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
 4290   5677   
new file mode 100644
 4291   5678   
index 0000000..0468d80
 4292         -
-- /dev/null
        5679  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/context.json
 4293   5680   
@@ -0,0 +1,12 @@
        5681  +
{
        5682  +
    "credentials": {
        5683  +
        "access_key_id": "AKIDEXAMPLE",
        5684  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5685  +
    },
        5686  +
    "expiration_in_seconds": 3600,
        5687  +
    "normalize": true,
        5688  +
    "region": "us-east-1",
        5689  +
    "service": "service",
        5690  +
    "sign_body": false,
        5691  +
    "timestamp": "2015-08-30T12:36:00Z"
        5692  +
}
              \
 No newline at end of file
 4294   5693   
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
 4295   5694   
similarity index 99%
 4296   5695   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-canonical-request.txt
 4297   5696   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-canonical-request.txt
 4298   5697   
index 816c862..cc4537a 100644
 4299   5698   
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
 4300   5699   
new file mode 100644
 4301   5700   
index 0000000..70d38c1
 4302         -
-- /dev/null
        5701  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signature.txt
 4303   5702   
@@ -0,0 +1 @@
        5703  +
3045022100ce7ae9d07bea650598803710644006d47de14a884d0777abd71ccf76164a36c70220256f34ad94c5cb1291a05f7680c2a0068c51d2a31a4e2fe2100d4a58197565ed
              \
 No newline at end of file
 4304   5704   
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
 4305   5705   
new file mode 100644
 4306   5706   
index 0000000..0647eea
 4307         -
-- /dev/null
        5707  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signed-request.txt
 4308   5708   
@@ -0,0 +1,6 @@
        5709  +
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5710  +
Host:example.amazonaws.com
        5711  +
X-Amz-Date:20150830T123600Z
        5712  +
X-Amz-Region-Set:us-east-1
        5713  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220023b0ce37b4e3f7fe6b6e155dab72846b461d22ff4820f019a07afef476f61ee022100f985e993037270cc48ac905b360046d077770a2b28aa829ea909430b1b3ed8aa
        5714  +
 4309   5715   
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
 4310   5716   
similarity index 99%
 4311   5717   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-string-to-sign.txt
 4312   5718   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-string-to-sign.txt
 4313   5719   
index 6129fc5..cc19d14 100644
 4314   5720   
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
 4315   5721   
new file mode 100644
 4316   5722   
index 0000000..379dcb2
 4317         -
-- /dev/null
        5723  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/public-key.json
 4318   5724   
@@ -0,0 +1,4 @@
        5725  +
{
        5726  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5727  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5728  +
}
 4319   5729   
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
 4320   5730   
similarity index 99%
 4321   5731   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-canonical-request.txt
 4322   5732   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-canonical-request.txt
 4323   5733   
index b77ee9f..ed6a10e 100644
 4324   5734   
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
 4325   5735   
new file mode 100644
 4326   5736   
index 0000000..2ceba7b
 4327         -
-- /dev/null
        5737  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signature.txt
 4328   5738   
@@ -0,0 +1 @@
        5739  +
30450220720698c40b04f1a2e1f94e91ed9a59f8b2a2e70cb55e6dd245d0aec039cad6ea022100b2076666b780735e1ddabf773f141ff49f8df3686ffb6c4c7798ba22470e3819
              \
 No newline at end of file
 4329   5740   
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
 4330   5741   
new file mode 100644
 4331   5742   
index 0000000..0cd6d0a
 4332         -
-- /dev/null
        5743  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signed-request.txt
 4333   5744   
@@ -0,0 +1,3 @@
        5745  +
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
        5746  +
Host:example.amazonaws.com
        5747  +
 4334   5748   
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
 4335   5749   
similarity index 99%
 4336   5750   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-string-to-sign.txt
 4337   5751   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-string-to-sign.txt
 4338   5752   
index 1cfed7a..aad1421 100644
 4339   5753   
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
 4340   5754   
similarity index 86%
 4341   5755   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
 4342   5756   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 4343   5757   
index d2833b3..36b2fe3 100644
 4344         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
        5758  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 4345   5759   
@@ -1,3 +1,2 @@
 4346   5760   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 4347   5761   
Host:example.amazonaws.com
 4348         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4349   5762   
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
 4350   5763   
new file mode 100644
 4351   5764   
index 0000000..0468d80
 4352         -
-- /dev/null
        5765  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/context.json
 4353   5766   
@@ -0,0 +1,12 @@
        5767  +
{
        5768  +
    "credentials": {
        5769  +
        "access_key_id": "AKIDEXAMPLE",
        5770  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5771  +
    },
        5772  +
    "expiration_in_seconds": 3600,
        5773  +
    "normalize": true,
        5774  +
    "region": "us-east-1",
        5775  +
    "service": "service",
        5776  +
    "sign_body": false,
        5777  +
    "timestamp": "2015-08-30T12:36:00Z"
        5778  +
}
              \
 No newline at end of file
 4354   5779   
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
 4355   5780   
new file mode 100644
 4356   5781   
index 0000000..76db73d
 4357         -
-- /dev/null
        5782  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-canonical-request.txt
 4358   5783   
@@ -0,0 +1,9 @@
        5784  +
GET
        5785  +
/
        5786  +
        5787  +
host:example.amazonaws.com
        5788  +
x-amz-date:20150830T123600Z
        5789  +
x-amz-region-set:us-east-1
        5790  +
        5791  +
host;x-amz-date;x-amz-region-set
        5792  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4359   5793   
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
 4360   5794   
new file mode 100644
 4361   5795   
index 0000000..281cc62
 4362         -
-- /dev/null
        5796  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signature.txt
 4363   5797   
@@ -0,0 +1 @@
        5798  +
304402202f36c5363f01990fac07fb18efd255fb82fa3807a8a84946f0b5ac2b71ac96f5022068a86869075a8ca0fe4f875f6a07af6df16538f156dba648c9a96b7c3d687924
              \
 No newline at end of file
 4364   5799   
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
 4365   5800   
new file mode 100644
 4366   5801   
index 0000000..cce9925
 4367         -
-- /dev/null
        5802  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signed-request.txt
 4368   5803   
@@ -0,0 +1,6 @@
        5804  +
GET / HTTP/1.1
        5805  +
Host:example.amazonaws.com
        5806  +
X-Amz-Date:20150830T123600Z
        5807  +
X-Amz-Region-Set:us-east-1
        5808  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502201f8540fba7741deef60d162a2cf5a8abece28db296174e82420ae6790d93b8af022100d3109ac9ec7995b9e976efa2c54b278d3fab0737e3c73483771773d2061d8f3f
        5809  +
 4369   5810   
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
 4370   5811   
new file mode 100644
 4371   5812   
index 0000000..600f1d8
 4372         -
-- /dev/null
        5813  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-string-to-sign.txt
 4373   5814   
@@ -0,0 +1,4 @@
        5815  +
AWS4-ECDSA-P256-SHA256
        5816  +
20150830T123600Z
        5817  +
20150830/service/aws4_request
        5818  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4374   5819   
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
 4375   5820   
new file mode 100644
 4376   5821   
index 0000000..379dcb2
 4377         -
-- /dev/null
        5822  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/public-key.json
 4378   5823   
@@ -0,0 +1,4 @@
        5824  +
{
        5825  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5826  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5827  +
}
 4379   5828   
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
 4380   5829   
new file mode 100644
 4381   5830   
index 0000000..779c51c
 4382         -
-- /dev/null
        5831  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-canonical-request.txt
 4383   5832   
@@ -0,0 +1,7 @@
        5833  +
GET
        5834  +
/
        5835  +
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
        5836  +
host:example.amazonaws.com
        5837  +
        5838  +
host
        5839  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4384   5840   
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
 4385   5841   
new file mode 100644
 4386   5842   
index 0000000..2979e5e
 4387         -
-- /dev/null
        5843  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signature.txt
 4388   5844   
@@ -0,0 +1 @@
        5845  +
304402203840161a4739cd19b33c2186657554e140b84ce1fe9021074f154410b97ffad002200606f4430d72826616b2cd47590fcee42bbf23cb0287458389a43f9e6edd897d
              \
 No newline at end of file
 4389   5846   
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
 4390   5847   
new file mode 100644
 4391   5848   
index 0000000..1b3179c
 4392         -
-- /dev/null
        5849  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signed-request.txt
 4393   5850   
@@ -0,0 +1,3 @@
        5851  +
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
        5852  +
Host:example.amazonaws.com
        5853  +
 4394   5854   
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
 4395   5855   
new file mode 100644
 4396   5856   
index 0000000..6e29a7e
 4397         -
-- /dev/null
        5857  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-string-to-sign.txt
 4398   5858   
@@ -0,0 +1,4 @@
        5859  +
AWS4-ECDSA-P256-SHA256
        5860  +
20150830T123600Z
        5861  +
20150830/service/aws4_request
        5862  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4399   5863   
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
 4400   5864   
similarity index 60%
 4401   5865   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
 4402   5866   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 4403   5867   
index 0f7a9bf..e659c3b 100644
 4404         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
        5868  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 4405   5869   
@@ -1,3 +1,2 @@
 4406   5870   
GET / HTTP/1.1
 4407   5871   
Host:example.amazonaws.com
 4408         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4409   5872   
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
 4410   5873   
new file mode 100644
 4411   5874   
index 0000000..0468d80
 4412         -
-- /dev/null
        5875  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/context.json
 4413   5876   
@@ -0,0 +1,12 @@
        5877  +
{
        5878  +
    "credentials": {
        5879  +
        "access_key_id": "AKIDEXAMPLE",
        5880  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5881  +
    },
        5882  +
    "expiration_in_seconds": 3600,
        5883  +
    "normalize": true,
        5884  +
    "region": "us-east-1",
        5885  +
    "service": "service",
        5886  +
    "sign_body": false,
        5887  +
    "timestamp": "2015-08-30T12:36:00Z"
        5888  +
}
              \
 No newline at end of file
 4414   5889   
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
 4415   5890   
new file mode 100644
 4416   5891   
index 0000000..8841ddf
 4417         -
-- /dev/null
        5892  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-canonical-request.txt
 4418   5893   
@@ -0,0 +1,9 @@
        5894  +
GET
        5895  +
/
        5896  +
%E1%88%B4=bar
        5897  +
host:example.amazonaws.com
        5898  +
x-amz-date:20150830T123600Z
        5899  +
x-amz-region-set:us-east-1
        5900  +
        5901  +
host;x-amz-date;x-amz-region-set
        5902  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4419   5903   
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
 4420   5904   
new file mode 100644
 4421   5905   
index 0000000..1497add
 4422         -
-- /dev/null
        5906  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signature.txt
 4423   5907   
@@ -0,0 +1 @@
        5908  +
3046022100b47fe24b090d857f34597a58a4e8acd0ea9639462e606af7e1fa1e2c3fae1d630221008ce7f870adf7d2c06f299da0c9870402b027c6a50ff027881655a664ff294cc3
              \
 No newline at end of file
 4424   5909   
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
 4425   5910   
new file mode 100644
 4426   5911   
index 0000000..961bc10
 4427         -
-- /dev/null
        5912  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signed-request.txt
 4428   5913   
@@ -0,0 +1,6 @@
        5914  +
GET /?ሴ=bar HTTP/1.1
        5915  +
Host:example.amazonaws.com
        5916  +
X-Amz-Date:20150830T123600Z
        5917  +
X-Amz-Region-Set:us-east-1
        5918  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502206e0b9d70bb0413a557946314e04739d721c9f301d452c072590edfdcb9320572022100846f242fb0346c8c56c76a6f0e70c521d7ac02742f09c2e7b5253f1e9afe5a44
        5919  +
 4429   5920   
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
 4430   5921   
new file mode 100644
 4431   5922   
index 0000000..e78ed70
 4432         -
-- /dev/null
        5923  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-string-to-sign.txt
 4433   5924   
@@ -0,0 +1,4 @@
        5925  +
AWS4-ECDSA-P256-SHA256
        5926  +
20150830T123600Z
        5927  +
20150830/service/aws4_request
        5928  +
b27131d754045e85823698b1fe3fc9694c17b16d97f4c43cef2359a1233c7b76
              \
 No newline at end of file
 4434   5929   
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
 4435   5930   
new file mode 100644
 4436   5931   
index 0000000..379dcb2
 4437         -
-- /dev/null
        5932  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/public-key.json
 4438   5933   
@@ -0,0 +1,4 @@
        5934  +
{
        5935  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5936  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5937  +
}
 4439   5938   
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
 4440   5939   
new file mode 100644
 4441   5940   
index 0000000..6d5ae93
 4442         -
-- /dev/null
        5941  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-canonical-request.txt
 4443   5942   
@@ -0,0 +1,7 @@
        5943  +
GET
        5944  +
/
        5945  +
%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
        5946  +
host:example.amazonaws.com
        5947  +
        5948  +
host
        5949  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4444   5950   
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
 4445   5951   
new file mode 100644
 4446   5952   
index 0000000..92107f2
 4447         -
-- /dev/null
        5953  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signature.txt
 4448   5954   
@@ -0,0 +1 @@
        5955  +
3044022076d8b03a19db63abc106c50f13487d5363f1eac2c77bc4eda764eadba8f84c6502205c0aa76554ba223a97958be9ff34aca35d84cb7b8c7ba698793ead9e6788e241
              \
 No newline at end of file
 4449   5956   
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
 4450   5957   
new file mode 100644
 4451   5958   
index 0000000..bb8a75b
 4452         -
-- /dev/null
        5959  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signed-request.txt
 4453   5960   
@@ -0,0 +1,3 @@
        5961  +
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
        5962  +
Host:example.amazonaws.com
        5963  +
 4454   5964   
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
 4455   5965   
new file mode 100644
 4456   5966   
index 0000000..9fa94c7
 4457         -
-- /dev/null
        5967  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-string-to-sign.txt
 4458   5968   
@@ -0,0 +1,4 @@
        5969  +
AWS4-ECDSA-P256-SHA256
        5970  +
20150830T123600Z
        5971  +
20150830/service/aws4_request
        5972  +
e22d57192c68232f914afff959b8aa1027756098f879c7d4d7615a2469f85c1f
              \
 No newline at end of file
 4459   5973   
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
 4460   5974   
new file mode 100644
 4461   5975   
index 0000000..aff333a
 4462         -
-- /dev/null
        5976  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/request.txt
 4463   5977   
@@ -0,0 +1,2 @@
        5978  +
GET /?ሴ=bar HTTP/1.1
        5979  +
Host:example.amazonaws.com
 4464   5980   
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
 4465   5981   
new file mode 100644
 4466   5982   
index 0000000..a334e18
 4467         -
-- /dev/null
        5983  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/context.json
 4468   5984   
@@ -0,0 +1,13 @@
        5985  +
{
        5986  +
    "credentials": {
        5987  +
        "access_key_id": "AKIDEXAMPLE",
        5988  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        5989  +
        "token": "6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267"
        5990  +
    },
        5991  +
    "expiration_in_seconds": 3600,
        5992  +
    "normalize": true,
        5993  +
    "region": "us-east-1",
        5994  +
    "service": "service",
        5995  +
    "sign_body": false,
        5996  +
    "timestamp": "2015-08-30T12:36:00Z"
        5997  +
}
              \
 No newline at end of file
 4469   5998   
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
 4470   5999   
similarity index 99%
 4471   6000   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-canonical-request.txt
 4472   6001   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-canonical-request.txt
 4473   6002   
index f14defd..0e9ad42 100644
 4474   6003   
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
 4475   6004   
new file mode 100644
 4476   6005   
index 0000000..a7673b5
 4477         -
-- /dev/null
        6006  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signature.txt
 4478   6007   
@@ -0,0 +1 @@
        6008  +
3044022035c6bc9a8cab8a434bd8bd1cc3b6f1401842f530f1537722ad10d72a1577f8c80220101352fe0720715efbab80f82edb133175f0b61cad85daf943ad615852f9ae10
              \
 No newline at end of file
 4479   6009   
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
 4480   6010   
new file mode 100644
 4481   6011   
index 0000000..ed16e76
 4482         -
-- /dev/null
        6012  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signed-request.txt
 4483   6013   
@@ -0,0 +1,7 @@
        6014  +
GET / HTTP/1.1
        6015  +
Host:example.amazonaws.com
        6016  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        6017  +
X-Amz-Date:20150830T123600Z
        6018  +
X-Amz-Region-Set:us-east-1
        6019  +
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
        6020  +
 4484   6021   
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
 4485   6022   
similarity index 99%
 4486   6023   
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
 4487   6024   
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
 4488   6025   
index 4edece5..6c1ec65 100644
 4489   6026   
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
 4490   6027   
new file mode 100644
 4491   6028   
index 0000000..379dcb2
 4492         -
-- /dev/null
        6029  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/public-key.json
 4493   6030   
@@ -0,0 +1,4 @@
        6031  +
{
        6032  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6033  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6034  +
}
 4494   6035   
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
 4495   6036   
similarity index 99%
 4496   6037   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-canonical-request.txt
 4497   6038   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-canonical-request.txt
 4498   6039   
index 7c042af..1876b42 100644
 4499   6040   
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
 4500   6041   
new file mode 100644
 4501   6042   
index 0000000..903dfb4
 4502         -
-- /dev/null
        6043  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signature.txt
 4503   6044   
@@ -0,0 +1 @@
        6045  +
3046022100d51f7ae1ac1b6b3db6c40f69aafb4306f81cdd2d87a85f69b2c4cb8fd057cf21022100cdb787a698c3f53d961f5b6279a0ff246097f50c874bcbf7a249bf4c0f118fb3
              \
 No newline at end of file
 4504   6046   
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
 4505   6047   
new file mode 100644
 4506   6048   
index 0000000..bf1d246
 4507         -
-- /dev/null
        6049  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signed-request.txt
 4508   6050   
@@ -0,0 +1,3 @@
        6051  +
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
        6052  +
Host:example.amazonaws.com
        6053  +
 4509   6054   
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
 4510   6055   
similarity index 99%
 4511   6056   
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
 4512   6057   
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
 4513   6058   
index 0fd066a..f1b1790 100644
 4514   6059   
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
 4515   6060   
similarity index 60%
 4516   6061   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
 4517   6062   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 4518   6063   
index 0f7a9bf..e659c3b 100644
 4519         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
        6064  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 4520   6065   
@@ -1,3 +1,2 @@
 4521   6066   
GET / HTTP/1.1
 4522   6067   
Host:example.amazonaws.com
 4523         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4524   6068   
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
 4525   6069   
new file mode 100644
 4526   6070   
index 0000000..76db73d
 4527         -
-- /dev/null
        6071  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/canonical-request.txt
 4528   6072   
@@ -0,0 +1,9 @@
        6073  +
GET
        6074  +
/
        6075  +
        6076  +
host:example.amazonaws.com
        6077  +
x-amz-date:20150830T123600Z
        6078  +
x-amz-region-set:us-east-1
        6079  +
        6080  +
host;x-amz-date;x-amz-region-set
        6081  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4529   6082   
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
 4530   6083   
new file mode 100644
 4531   6084   
index 0000000..0468d80
 4532         -
-- /dev/null
        6085  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/context.json
 4533   6086   
@@ -0,0 +1,12 @@
        6087  +
{
        6088  +
    "credentials": {
        6089  +
        "access_key_id": "AKIDEXAMPLE",
        6090  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6091  +
    },
        6092  +
    "expiration_in_seconds": 3600,
        6093  +
    "normalize": true,
        6094  +
    "region": "us-east-1",
        6095  +
    "service": "service",
        6096  +
    "sign_body": false,
        6097  +
    "timestamp": "2015-08-30T12:36:00Z"
        6098  +
}
              \
 No newline at end of file
 4534   6099   
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
 4535   6100   
new file mode 100644
 4536   6101   
index 0000000..76db73d
 4537         -
-- /dev/null
        6102  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-canonical-request.txt
 4538   6103   
@@ -0,0 +1,9 @@
        6104  +
GET
        6105  +
/
        6106  +
        6107  +
host:example.amazonaws.com
        6108  +
x-amz-date:20150830T123600Z
        6109  +
x-amz-region-set:us-east-1
        6110  +
        6111  +
host;x-amz-date;x-amz-region-set
        6112  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4539   6113   
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
 4540   6114   
new file mode 100644
 4541   6115   
index 0000000..a96ff24
 4542         -
-- /dev/null
        6116  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signature.txt
 4543   6117   
@@ -0,0 +1 @@
        6118  +
3045022018b4e277d0281864beb51d3600e23f88510ea5031d68ddfbb68614b82a5eb7d2022100effb9c5f22ed9ef3ae0ab243d21f06bce82365bbb79529a07b6888c343ae5f8c
              \
 No newline at end of file
 4544   6119   
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
 4545   6120   
new file mode 100644
 4546   6121   
index 0000000..689078b
 4547         -
-- /dev/null
        6122  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signed-request.txt
 4548   6123   
@@ -0,0 +1,6 @@
        6124  +
GET / HTTP/1.1
        6125  +
Host:example.amazonaws.com
        6126  +
X-Amz-Date:20150830T123600Z
        6127  +
X-Amz-Region-Set:us-east-1
        6128  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100fddaaf816a31e30d04973875b13bc27b98da10907a3a1872fd5819a221334abc022100de2ee81d83b54f31efc82834de07e6cd4d5c6f25bfa08e0f29a15bb0977c343e
        6129  +
 4549   6130   
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
 4550   6131   
new file mode 100644
 4551   6132   
index 0000000..600f1d8
 4552         -
-- /dev/null
        6133  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-string-to-sign.txt
 4553   6134   
@@ -0,0 +1,4 @@
        6135  +
AWS4-ECDSA-P256-SHA256
        6136  +
20150830T123600Z
        6137  +
20150830/service/aws4_request
        6138  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4554   6139   
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
 4555   6140   
new file mode 100644
 4556   6141   
index 0000000..379dcb2
 4557         -
-- /dev/null
        6142  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/public-key.json
 4558   6143   
@@ -0,0 +1,4 @@
        6144  +
{
        6145  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6146  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6147  +
}
 4559   6148   
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
 4560   6149   
new file mode 100644
 4561   6150   
index 0000000..779c51c
 4562         -
-- /dev/null
        6151  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-canonical-request.txt
 4563   6152   
@@ -0,0 +1,7 @@
        6153  +
GET
        6154  +
/
        6155  +
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
        6156  +
host:example.amazonaws.com
        6157  +
        6158  +
host
        6159  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4564   6160   
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
 4565   6161   
new file mode 100644
 4566   6162   
index 0000000..cc42158
 4567         -
-- /dev/null
        6163  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signature.txt
 4568   6164   
@@ -0,0 +1 @@
        6165  +
3045022100b3246f8e1442dd58e73292ae1294720c3256ee58f6cea50f3a3f83b4a4b0331a0220329693f7745c9008a5887c0529ceccb0fae4e16d707b712ea66acdbaf963769a
              \
 No newline at end of file
 4569   6166   
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
 4570   6167   
new file mode 100644
 4571   6168   
index 0000000..dc6d01d
 4572         -
-- /dev/null
        6169  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signed-request.txt
 4573   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-Region-Set=us-east-1&X-Amz-Signature=3045022100a28466db6c76223d5aa6ed436a8451b30e21ba0a076e7f2f943dd1f3d2816249022049e4b3746929cd2a2cb7b7984dbe0f5d40a300e7d9a7a7f1307c196b6f96b61a HTTP/1.1
        6172  +
Host:example.amazonaws.com
        6173  +
 4574   6174   
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
 4575   6175   
new file mode 100644
 4576   6176   
index 0000000..6e29a7e
 4577         -
-- /dev/null
        6177  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-string-to-sign.txt
 4578   6178   
@@ -0,0 +1,4 @@
        6179  +
AWS4-ECDSA-P256-SHA256
        6180  +
20150830T123600Z
        6181  +
20150830/service/aws4_request
        6182  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4579   6183   
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
 4580   6184   
new file mode 100644
 4581   6185   
index 0000000..e659c3b
 4582         -
-- /dev/null
        6186  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/request.txt
 4583   6187   
@@ -0,0 +1,2 @@
        6188  +
GET / HTTP/1.1
        6189  +
Host:example.amazonaws.com
 4584   6190   
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
 4585   6191   
new file mode 100644
 4586   6192   
index 0000000..600f1d8
 4587         -
-- /dev/null
        6193  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/string-to-sign.txt
 4588   6194   
@@ -0,0 +1,4 @@
        6195  +
AWS4-ECDSA-P256-SHA256
        6196  +
20150830T123600Z
        6197  +
20150830/service/aws4_request
        6198  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4589   6199   
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
 4590   6200   
new file mode 100644
 4591   6201   
index 0000000..0468d80
 4592         -
-- /dev/null
        6202  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/context.json
 4593   6203   
@@ -0,0 +1,12 @@
        6204  +
{
        6205  +
    "credentials": {
        6206  +
        "access_key_id": "AKIDEXAMPLE",
        6207  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6208  +
    },
        6209  +
    "expiration_in_seconds": 3600,
        6210  +
    "normalize": true,
        6211  +
    "region": "us-east-1",
        6212  +
    "service": "service",
        6213  +
    "sign_body": false,
        6214  +
    "timestamp": "2015-08-30T12:36:00Z"
        6215  +
}
              \
 No newline at end of file
 4594   6216   
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
 4595   6217   
similarity index 99%
 4596   6218   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-canonical-request.txt
 4597   6219   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-canonical-request.txt
 4598   6220   
index a6942c1..e881ac7 100644
 4599   6221   
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
 4600   6222   
new file mode 100644
 4601   6223   
index 0000000..4210210
 4602         -
-- /dev/null
        6224  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signature.txt
 4603   6225   
@@ -0,0 +1 @@
        6226  +
3044022025397839d55c2147eead39170f5b1758c9f9fb4ccbcda4c8612a23df8e90c13d022079f5fc1377201691a11be43def8be12fe882e998589317508ff67b8dbe982722
              \
 No newline at end of file
 4604   6227   
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
 4605   6228   
new file mode 100644
 4606   6229   
index 0000000..257b110
 4607         -
-- /dev/null
        6230  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signed-request.txt
 4608   6231   
@@ -0,0 +1,6 @@
        6232  +
POST / HTTP/1.1
        6233  +
Host:example.amazonaws.com
        6234  +
X-Amz-Date:20150830T123600Z
        6235  +
X-Amz-Region-Set:us-east-1
        6236  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304602210081bb2a93eae5cce843abe0e7cac2f0e4cecdd0a79cb8d60e5b9dc4c8e8906b61022100e18c8119f50b8218da995ada62080d88ff75d2f02309c3685a02dfb9a83b103f
        6237  +
 4609   6238   
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
 4610   6239   
similarity index 99%
 4611   6240   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-string-to-sign.txt
 4612   6241   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-string-to-sign.txt
 4613   6242   
index d5650cb..f8adf13 100644
 4614   6243   
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
 4615   6244   
new file mode 100644
 4616   6245   
index 0000000..379dcb2
 4617         -
-- /dev/null
        6246  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/public-key.json
 4618   6247   
@@ -0,0 +1,4 @@
        6248  +
{
        6249  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6250  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6251  +
}
 4619   6252   
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
 4620   6253   
similarity index 99%
 4621   6254   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-canonical-request.txt
 4622   6255   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-canonical-request.txt
 4623   6256   
index e48ce07..5ea8e3c 100644
 4624   6257   
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
 4625   6258   
new file mode 100644
 4626   6259   
index 0000000..9e2069e
 4627         -
-- /dev/null
        6260  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signature.txt
 4628   6261   
@@ -0,0 +1 @@
        6262  +
304402204afe4ce8de62e37853d0cb8a00f9601532fdeca89d6d8591c72d5bbf728bee2f02202feb0d8e680cab063e0c3c9090c0483f400511678ce83169ddce3e6d040f9ed8
              \
 No newline at end of file
 4629   6263   
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
 4630   6264   
new file mode 100644
 4631   6265   
index 0000000..67f5d29
 4632         -
-- /dev/null
        6266  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signed-request.txt
 4633   6267   
@@ -0,0 +1,3 @@
        6268  +
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
        6269  +
Host:example.amazonaws.com
        6270  +
 4634   6271   
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
 4635   6272   
similarity index 99%
 4636   6273   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-string-to-sign.txt
 4637   6274   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-string-to-sign.txt
 4638   6275   
index 34e3382..711c162 100644
 4639   6276   
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
 4640   6277   
similarity index 61%
 4641   6278   
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
 4642   6279   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 4643   6280   
index 3dc4179..3f0a82a 100644
 4644         -
-- 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
        6281  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 4645   6282   
@@ -1,3 +1,2 @@
 4646   6283   
POST / HTTP/1.1
 4647   6284   
Host:example.amazonaws.com
 4648         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4649   6285   
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
 4650   6286   
new file mode 100644
 4651   6287   
index 0000000..0468d80
 4652         -
-- /dev/null
        6288  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/context.json
 4653   6289   
@@ -0,0 +1,12 @@
        6290  +
{
        6291  +
    "credentials": {
        6292  +
        "access_key_id": "AKIDEXAMPLE",
        6293  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6294  +
    },
        6295  +
    "expiration_in_seconds": 3600,
        6296  +
    "normalize": true,
        6297  +
    "region": "us-east-1",
        6298  +
    "service": "service",
        6299  +
    "sign_body": false,
        6300  +
    "timestamp": "2015-08-30T12:36:00Z"
        6301  +
}
              \
 No newline at end of file
 4654   6302   
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
 4655   6303   
similarity index 99%
 4656   6304   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-canonical-request.txt
 4657   6305   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-canonical-request.txt
 4658   6306   
index a8e1727..2883822 100644
 4659   6307   
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
 4660   6308   
new file mode 100644
 4661   6309   
index 0000000..e3c2e6e
 4662         -
-- /dev/null
        6310  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signature.txt
 4663   6311   
@@ -0,0 +1 @@
        6312  +
304502210097752f8c9953078cbb6b370471cb7029aea9517d59fb835d8befce66a91e6c4a022043a8c62681ff76e6cbaaeaed2fff2fcfee8efceebb7bd9e562ecd5a08b2c563f
              \
 No newline at end of file
 4664   6313   
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
 4665   6314   
new file mode 100644
 4666   6315   
index 0000000..1d6e288
 4667         -
-- /dev/null
        6316  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signed-request.txt
 4668   6317   
@@ -0,0 +1,7 @@
        6318  +
POST / HTTP/1.1
        6319  +
Host:example.amazonaws.com
        6320  +
My-Header1:value1
        6321  +
X-Amz-Date:20150830T123600Z
        6322  +
X-Amz-Region-Set:us-east-1
        6323  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3046022100a5dc03771b33997d8eeb15d639cb7bdef2aff78a4a59c7996070e5f94fe149780221009a732061539208209ba0ae6755bef956c258a0c0ac6a6916489486efde21cfeb
        6324  +
 4669   6325   
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
 4670   6326   
similarity index 99%
 4671   6327   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-string-to-sign.txt
 4672   6328   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-string-to-sign.txt
 4673   6329   
index f6e3e9b..7c5236a 100644
 4674   6330   
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
 4675   6331   
new file mode 100644
 4676   6332   
index 0000000..379dcb2
 4677         -
-- /dev/null
        6333  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/public-key.json
 4678   6334   
@@ -0,0 +1,4 @@
        6335  +
{
        6336  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6337  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6338  +
}
 4679   6339   
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
 4680   6340   
similarity index 99%
 4681   6341   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-canonical-request.txt
 4682   6342   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-canonical-request.txt
 4683   6343   
index 0ae73e1..2cf3f29 100644
 4684   6344   
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
 4685   6345   
new file mode 100644
 4686   6346   
index 0000000..2a08401
 4687         -
-- /dev/null
        6347  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signature.txt
 4688   6348   
@@ -0,0 +1 @@
        6349  +
304502204f2a31513c9bea5c92dd8045e226dc1db150f768e60b538cacce157c623873dc022100ab5d654ce3c7b917656cec2cf58a3689159e89deed5241ca21e19a40173674c4
              \
 No newline at end of file
 4689   6350   
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
 4690   6351   
new file mode 100644
 4691   6352   
index 0000000..8d2343f
 4692         -
-- /dev/null
        6353  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signed-request.txt
 4693   6354   
@@ -0,0 +1,4 @@
        6355  +
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
        6356  +
Host:example.amazonaws.com
        6357  +
My-Header1:value1
        6358  +
 4694   6359   
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
 4695   6360   
similarity index 99%
 4696   6361   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-string-to-sign.txt
 4697   6362   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-string-to-sign.txt
 4698   6363   
index 8cb96bf..2c4db7a 100644
 4699   6364   
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
 4700   6365   
similarity index 69%
 4701   6366   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
 4702   6367   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 4703   6368   
index 0253f19..917720e 100644
 4704         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
        6369  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 4705   6370   
@@ -1,4 +1,3 @@
 4706   6371   
POST / HTTP/1.1
 4707   6372   
Host:example.amazonaws.com
 4708   6373   
My-Header1:value1
 4709         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4710   6374   
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
 4711   6375   
new file mode 100644
 4712   6376   
index 0000000..0468d80
 4713         -
-- /dev/null
        6377  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/context.json
 4714   6378   
@@ -0,0 +1,12 @@
        6379  +
{
        6380  +
    "credentials": {
        6381  +
        "access_key_id": "AKIDEXAMPLE",
        6382  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6383  +
    },
        6384  +
    "expiration_in_seconds": 3600,
        6385  +
    "normalize": true,
        6386  +
    "region": "us-east-1",
        6387  +
    "service": "service",
        6388  +
    "sign_body": false,
        6389  +
    "timestamp": "2015-08-30T12:36:00Z"
        6390  +
}
              \
 No newline at end of file
 4715   6391   
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
 4716   6392   
similarity index 99%
 4717   6393   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-canonical-request.txt
 4718   6394   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-canonical-request.txt
 4719   6395   
index 1dc3ef8..164e65c 100644
 4720   6396   
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
 4721   6397   
new file mode 100644
 4722   6398   
index 0000000..7072b0e
 4723         -
-- /dev/null
        6399  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signature.txt
 4724   6400   
@@ -0,0 +1 @@
        6401  +
304402207b3baf259f5d29f13511eb4c9b236045c43168ca70369ed639611f4bff9eb6490220465e922e8b19146de9c70147440f4ee80a3318f0c756c8050dbfd641e6ff0456
              \
 No newline at end of file
 4725   6402   
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
 4726   6403   
new file mode 100644
 4727   6404   
index 0000000..17f5e3e
 4728         -
-- /dev/null
        6405  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signed-request.txt
 4729   6406   
@@ -0,0 +1,7 @@
        6407  +
POST / HTTP/1.1
        6408  +
Host:example.amazonaws.com
        6409  +
My-Header1:VALUE1
        6410  +
X-Amz-Date:20150830T123600Z
        6411  +
X-Amz-Region-Set:us-east-1
        6412  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022100c72dd4d54c45d3eb30858c6227e9512f41b7379b7c685e39e0cd39a793d7ee3102205c900d330270e31d2f7b5138fb3d791b6743f6f3b9ffbc34a4adcc8307591b11
        6413  +
 4730   6414   
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
 4731   6415   
similarity index 99%
 4732   6416   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-string-to-sign.txt
 4733   6417   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-string-to-sign.txt
 4734   6418   
index 59c7e45..620f54e 100644
 4735   6419   
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
 4736   6420   
new file mode 100644
 4737   6421   
index 0000000..379dcb2
 4738         -
-- /dev/null
        6422  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/public-key.json
 4739   6423   
@@ -0,0 +1,4 @@
        6424  +
{
        6425  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6426  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6427  +
}
 4740   6428   
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
 4741   6429   
similarity index 99%
 4742   6430   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-canonical-request.txt
 4743   6431   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-canonical-request.txt
 4744   6432   
index 377e6f3..23e0da3 100644
 4745   6433   
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
 4746   6434   
new file mode 100644
 4747   6435   
index 0000000..a18acb8
 4748         -
-- /dev/null
        6436  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signature.txt
 4749   6437   
@@ -0,0 +1 @@
        6438  +
30450221009895446cb62cfb2dbb5e943baa12cad86c9d903bcfdb400f7e24391566709d8002205a12b1179a7d3569a8dfbfb8c15d0ad2e5e816aff6b2ee0c3deaf0e89fcbea80
              \
 No newline at end of file
 4750   6439   
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
 4751   6440   
new file mode 100644
 4752   6441   
index 0000000..7cbdcfa
 4753         -
-- /dev/null
        6442  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signed-request.txt
 4754   6443   
@@ -0,0 +1,4 @@
        6444  +
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
        6445  +
Host:example.amazonaws.com
        6446  +
My-Header1:VALUE1
        6447  +
 4755   6448   
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
 4756   6449   
similarity index 99%
 4757   6450   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-string-to-sign.txt
 4758   6451   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-string-to-sign.txt
 4759   6452   
index 84a7afd..0c90627 100644
 4760   6453   
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
 4761   6454   
similarity index 69%
 4762   6455   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
 4763   6456   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 4764   6457   
index 3f9987a..5f14c91 100644
 4765         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
        6458  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 4766   6459   
@@ -1,4 +1,3 @@
 4767   6460   
POST / HTTP/1.1
 4768   6461   
Host:example.amazonaws.com
 4769   6462   
My-Header1:VALUE1
 4770         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4771   6463   
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
 4772   6464   
new file mode 100644
 4773   6465   
index 0000000..8f1d5ce
 4774         -
-- /dev/null
        6466  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/context.json
 4775   6467   
@@ -0,0 +1,14 @@
        6468  +
{
        6469  +
    "credentials": {
        6470  +
        "access_key_id": "AKIDEXAMPLE",
        6471  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6472  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        6473  +
    },
        6474  +
    "expiration_in_seconds": 3600,
        6475  +
    "normalize": true,
        6476  +
    "region": "us-east-1",
        6477  +
    "service": "service",
        6478  +
    "sign_body": false,
        6479  +
    "timestamp": "2015-08-30T12:36:00Z",
        6480  +
    "omit_session_token": true
        6481  +
}
 4776   6482   
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
 4777   6483   
similarity index 99%
 4778   6484   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-canonical-request.txt
 4779   6485   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-canonical-request.txt
 4780   6486   
index a6942c1..e881ac7 100644
 4781   6487   
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
 4782   6488   
new file mode 100644
 4783   6489   
index 0000000..9c5ecb9
 4784         -
-- /dev/null
        6490  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signature.txt
 4785   6491   
@@ -0,0 +1 @@
        6492  +
3045022005936b1139f85e06856778dc6fefa39c534143129dca2e0a40d1c910d42f12f1022100b97f90927755775d36f57803214c2268a051914bbdab196c071ec24462f6baae
              \
 No newline at end of file
 4786   6493   
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
 4787   6494   
similarity index 52%
 4788   6495   
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
 4789   6496   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 4790   6497   
index 9d91775..61b6527 100644
 4791         -
-- 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
        6498  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 4792   6499   
@@ -1,4 +1,7 @@
 4793   6500   
POST / HTTP/1.1
 4794   6501   
Host:example.amazonaws.com
 4795         -
X-Amz-Date:20150830T123600Z
 4796   6502   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        6503  +
X-Amz-Date:20150830T123600Z
        6504  +
X-Amz-Region-Set:us-east-1
        6505  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100f7866e35aa214de4541aa33326aa9b5e9a409b72c9185c7a2e2d246ebb5a25a80220642e809f3d016fb3674364776c2ffadf7e7f8da94c36538a4715fa9425b52ed8
        6506  +
 4797   6507   
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
 4798   6508   
similarity index 99%
 4799   6509   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-string-to-sign.txt
 4800   6510   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-string-to-sign.txt
 4801   6511   
index d5650cb..f8adf13 100644
 4802   6512   
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
 4803   6513   
new file mode 100644
 4804   6514   
index 0000000..379dcb2
 4805         -
-- /dev/null
        6515  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/public-key.json
 4806   6516   
@@ -0,0 +1,4 @@
        6517  +
{
        6518  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6519  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6520  +
}
 4807   6521   
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
 4808   6522   
similarity index 99%
 4809   6523   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-canonical-request.txt
 4810   6524   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-canonical-request.txt
 4811   6525   
index e48ce07..5ea8e3c 100644
 4812   6526   
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
 4813   6527   
new file mode 100644
 4814   6528   
index 0000000..ff8823a
 4815         -
-- /dev/null
        6529  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signature.txt
 4816   6530   
@@ -0,0 +1 @@
        6531  +
3046022100f7c89084cbc2c276f6cbc02a6f6b353e2fb3538d02ed31f819324acf0f49cd0b022100823e6714c97899ea16d7f409989b250a911e6930112f8c73cf7d8c660bf2ed2f
              \
 No newline at end of file
 4817   6532   
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
 4818   6533   
new file mode 100644
 4819   6534   
index 0000000..cfac41b
 4820         -
-- /dev/null
        6535  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signed-request.txt
 4821   6536   
@@ -0,0 +1,3 @@
        6537  +
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
        6538  +
Host:example.amazonaws.com
        6539  +
 4822   6540   
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
 4823   6541   
similarity index 99%
 4824   6542   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-string-to-sign.txt
 4825   6543   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-string-to-sign.txt
 4826   6544   
index 34e3382..711c162 100644
 4827   6545   
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
 4828   6546   
similarity index 61%
 4829   6547   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
 4830   6548   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 4831   6549   
index 3dc4179..3f0a82a 100644
 4832         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
        6550  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 4833   6551   
@@ -1,3 +1,2 @@
 4834   6552   
POST / HTTP/1.1
 4835   6553   
Host:example.amazonaws.com
 4836         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4837   6554   
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
 4838   6555   
new file mode 100644
 4839   6556   
index 0000000..5187392
 4840         -
-- /dev/null
        6557  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/context.json
 4841   6558   
@@ -0,0 +1,14 @@
        6559  +
{
        6560  +
    "credentials": {
        6561  +
        "access_key_id": "AKIDEXAMPLE",
        6562  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6563  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        6564  +
    },
        6565  +
    "expiration_in_seconds": 3600,
        6566  +
    "normalize": true,
        6567  +
    "region": "us-east-1",
        6568  +
    "service": "service",
        6569  +
    "sign_body": false,
        6570  +
    "timestamp": "2015-08-30T12:36:00Z",
        6571  +
    "omit_session_token": false
        6572  +
}
 4842   6573   
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
 4843   6574   
similarity index 99%
 4844   6575   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-canonical-request.txt
 4845   6576   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-canonical-request.txt
 4846   6577   
index dd408c8..e95924e 100644
 4847   6578   
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
 4848   6579   
new file mode 100644
 4849   6580   
index 0000000..1573f07
 4850         -
-- /dev/null
        6581  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signature.txt
 4851   6582   
@@ -0,0 +1 @@
        6583  +
30450221009cf93687a6055c287c68f881d4a907a6c99eef88b9c908e33e15740ec5a75e43022072df645db08e18ba4cd7436b3d67691792815a353d48113c7c444bb67c630e50
              \
 No newline at end of file
 4852   6584   
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
 4853   6585   
new file mode 100644
 4854   6586   
index 0000000..6ef9a08
 4855         -
-- /dev/null
        6587  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signed-request.txt
 4856   6588   
@@ -0,0 +1,7 @@
        6589  +
POST / HTTP/1.1
        6590  +
Host:example.amazonaws.com
        6591  +
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        6592  +
X-Amz-Date:20150830T123600Z
        6593  +
X-Amz-Region-Set:us-east-1
        6594  +
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
        6595  +
 4857   6596   
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
 4858   6597   
similarity index 99%
 4859   6598   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-string-to-sign.txt
 4860   6599   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-string-to-sign.txt
 4861   6600   
index f352b54..3c3235f 100644
 4862   6601   
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
 4863   6602   
new file mode 100644
 4864   6603   
index 0000000..379dcb2
 4865         -
-- /dev/null
        6604  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/public-key.json
 4866   6605   
@@ -0,0 +1,4 @@
        6606  +
{
        6607  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6608  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6609  +
}
 4867   6610   
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
 4868   6611   
similarity index 99%
 4869   6612   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-canonical-request.txt
 4870   6613   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-canonical-request.txt
 4871   6614   
index 832cdc0..63b7de5 100644
 4872   6615   
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
 4873   6616   
new file mode 100644
 4874   6617   
index 0000000..713f57c
 4875         -
-- /dev/null
        6618  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signature.txt
 4876   6619   
@@ -0,0 +1 @@
        6620  +
304402203a4d2e9bd05ccf8b1e5834f2bb5ab81ea3b1dfbeb84388f07ab3b61ab519332a02204db83afae56ac4e713f631cd15268605d7b36119e672458d86df0cfcb68fe836
              \
 No newline at end of file
 4877   6621   
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
 4878   6622   
new file mode 100644
 4879   6623   
index 0000000..32c3bb3
 4880         -
-- /dev/null
        6624  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signed-request.txt
 4881   6625   
@@ -0,0 +1,3 @@
        6626  +
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
        6627  +
Host:example.amazonaws.com
        6628  +
 4882   6629   
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
 4883   6630   
similarity index 99%
 4884   6631   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-string-to-sign.txt
 4885   6632   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-string-to-sign.txt
 4886   6633   
index d7f3668..b46cd8c 100644
 4887   6634   
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
 4888   6635   
similarity index 60%
 4889   6636   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
 4890   6637   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 4891   6638   
index 8b5efc8..3f0a82a 100644
 4892         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
        6639  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 4893   6640   
@@ -1,3 +1,2 @@
 4894   6641   
POST / HTTP/1.1
 4895   6642   
Host:example.amazonaws.com
 4896         -
X-Amz-Date:20150830T123600Z
 4897   6643   
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
 4898   6644   
new file mode 100644
 4899   6645   
index 0000000..0468d80
 4900         -
-- /dev/null
        6646  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/context.json
 4901   6647   
@@ -0,0 +1,12 @@
        6648  +
{
        6649  +
    "credentials": {
        6650  +
        "access_key_id": "AKIDEXAMPLE",
        6651  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6652  +
    },
        6653  +
    "expiration_in_seconds": 3600,
        6654  +
    "normalize": true,
        6655  +
    "region": "us-east-1",
        6656  +
    "service": "service",
        6657  +
    "sign_body": false,
        6658  +
    "timestamp": "2015-08-30T12:36:00Z"
        6659  +
}
              \
 No newline at end of file
 4902   6660   
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
 4903   6661   
similarity index 99%
 4904   6662   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-canonical-request.txt
 4905   6663   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-canonical-request.txt
 4906   6664   
index 02af60f..34b8c11 100644
 4907   6665   
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
 4908   6666   
new file mode 100644
 4909   6667   
index 0000000..aac6427
 4910         -
-- /dev/null
        6668  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signature.txt
 4911   6669   
@@ -0,0 +1 @@
        6670  +
3045022077e142d360c6c3d6768c94c89856f6de0e4fe088328ed0a2324d78ffb73570f1022100ed84c9cd071b43d78f2d70cc1694b3ea807638c648d29a2c401cf3301b34e081
              \
 No newline at end of file
 4912   6671   
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
 4913   6672   
new file mode 100644
 4914   6673   
index 0000000..a611436
 4915         -
-- /dev/null
        6674  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signed-request.txt
 4916   6675   
@@ -0,0 +1,6 @@
        6676  +
POST /?Param1=value1 HTTP/1.1
        6677  +
Host:example.amazonaws.com
        6678  +
X-Amz-Date:20150830T123600Z
        6679  +
X-Amz-Region-Set:us-east-1
        6680  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203129b52c7149bcf5761f83d023986576af5846b9e9f11050651639f9e24c9ebd02200f7e2f6c2aed2bbb76580e50d32e8aa09dc65f7544cdb169b4a690a2a248efd3
        6681  +
 4917   6682   
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
 4918   6683   
similarity index 99%
 4919   6684   
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
 4920   6685   
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
 4921   6686   
index 4256b4f..ad88dff 100644
 4922   6687   
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
 4923   6688   
new file mode 100644
 4924   6689   
index 0000000..379dcb2
 4925         -
-- /dev/null
        6690  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/public-key.json
 4926   6691   
@@ -0,0 +1,4 @@
        6692  +
{
        6693  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6694  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6695  +
}
 4927   6696   
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
 4928   6697   
similarity index 99%
 4929   6698   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-canonical-request.txt
 4930   6699   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-canonical-request.txt
 4931   6700   
index fa84bbd..76d5ad6 100644
 4932   6701   
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
 4933   6702   
new file mode 100644
 4934   6703   
index 0000000..4cb1c94
 4935         -
-- /dev/null
        6704  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signature.txt
 4936   6705   
@@ -0,0 +1 @@
        6706  +
3045022100df7ad6c7c07d989d8bf5bdc3953a5992ceb0e0acb40c8fba0fdb2e12b1003a0e022002a3b1109182bf60285df0b581ce2d8c6665215d7c0ae4bc32a43a30bad21626
              \
 No newline at end of file
 4937   6707   
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
 4938   6708   
new file mode 100644
 4939   6709   
index 0000000..bd22b97
 4940         -
-- /dev/null
        6710  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signed-request.txt
 4941   6711   
@@ -0,0 +1,3 @@
        6712  +
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
        6713  +
Host:example.amazonaws.com
        6714  +
 4942   6715   
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
 4943   6716   
similarity index 99%
 4944   6717   
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
 4945   6718   
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
 4946   6719   
index de270ef..8c9d319 100644
 4947   6720   
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
 4948   6721   
similarity index 67%
 4949   6722   
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
 4950   6723   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 4951   6724   
index 9157bc7..c9d6e5d 100644
 4952         -
-- 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
        6725  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 4953   6726   
@@ -1,3 +1,2 @@
 4954   6727   
POST /?Param1=value1 HTTP/1.1
 4955   6728   
Host:example.amazonaws.com
 4956         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4957   6729   
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
 4958   6730   
new file mode 100644
 4959   6731   
index 0000000..0468d80
 4960         -
-- /dev/null
        6732  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/context.json
 4961   6733   
@@ -0,0 +1,12 @@
        6734  +
{
        6735  +
    "credentials": {
        6736  +
        "access_key_id": "AKIDEXAMPLE",
        6737  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6738  +
    },
        6739  +
    "expiration_in_seconds": 3600,
        6740  +
    "normalize": true,
        6741  +
    "region": "us-east-1",
        6742  +
    "service": "service",
        6743  +
    "sign_body": false,
        6744  +
    "timestamp": "2015-08-30T12:36:00Z"
        6745  +
}
              \
 No newline at end of file
 4962   6746   
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
 4963   6747   
similarity index 99%
 4964   6748   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-canonical-request.txt
 4965   6749   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-canonical-request.txt
 4966   6750   
index 02af60f..34b8c11 100644
 4967   6751   
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
 4968   6752   
new file mode 100644
 4969   6753   
index 0000000..34f75c8
 4970         -
-- /dev/null
        6754  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signature.txt
 4971   6755   
@@ -0,0 +1 @@
        6756  +
3046022100b876f1bd2e85da20227bf515463de11ed5334e78e559bf814ce39c6a500af453022100a0a4797c60fda7bca3af5ae71680853b0c4e401d3da0821e3266062ff3463275
              \
 No newline at end of file
 4972   6757   
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
 4973   6758   
new file mode 100644
 4974   6759   
index 0000000..c731408
 4975         -
-- /dev/null
        6760  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signed-request.txt
 4976   6761   
@@ -0,0 +1,6 @@
        6762  +
POST /?Param1=value1 HTTP/1.1
        6763  +
Host:example.amazonaws.com
        6764  +
X-Amz-Date:20150830T123600Z
        6765  +
X-Amz-Region-Set:us-east-1
        6766  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402202785ef1eddce96aa4f4cb359f00fcb1155fa7f679b4af8949a8ea097381543fc02205a9719949fcc5452e690dcd2426318aa17d87aa67c68fdd66f815ae2d3591b49
        6767  +
 4977   6768   
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
 4978   6769   
similarity index 99%
 4979   6770   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-string-to-sign.txt
 4980   6771   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-string-to-sign.txt
 4981   6772   
index 4256b4f..ad88dff 100644
 4982   6773   
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
 4983   6774   
new file mode 100644
 4984   6775   
index 0000000..379dcb2
 4985         -
-- /dev/null
        6776  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/public-key.json
 4986   6777   
@@ -0,0 +1,4 @@
        6778  +
{
        6779  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6780  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6781  +
}
 4987   6782   
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
 4988   6783   
similarity index 99%
 4989   6784   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-canonical-request.txt
 4990   6785   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-canonical-request.txt
 4991   6786   
index fa84bbd..76d5ad6 100644
 4992   6787   
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
 4993   6788   
new file mode 100644
 4994   6789   
index 0000000..ae000d6
 4995         -
-- /dev/null
        6790  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signature.txt
 4996   6791   
@@ -0,0 +1 @@
        6792  +
304402206c9877a31b4f7d0118d45b1e1ac58ed605f2d7ded4005d59c86ac7331737097302201772085759c0ab0ecbf67a85128823319866ee7118945cf569dd17f678aafce5
              \
 No newline at end of file
 4997   6793   
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
 4998   6794   
new file mode 100644
 4999   6795   
index 0000000..a868f7d
 5000         -
-- /dev/null
        6796  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signed-request.txt
 5001   6797   
@@ -0,0 +1,3 @@
        6798  +
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
        6799  +
Host:example.amazonaws.com
        6800  +
 5002   6801   
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
 5003   6802   
similarity index 99%
 5004   6803   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-string-to-sign.txt
 5005   6804   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-string-to-sign.txt
 5006   6805   
index de270ef..8c9d319 100644
 5007   6806   
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
 5008   6807   
similarity index 67%
 5009   6808   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
 5010   6809   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 5011   6810   
index 9157bc7..c9d6e5d 100644
 5012         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
        6811  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 5013   6812   
@@ -1,3 +1,2 @@
 5014   6813   
POST /?Param1=value1 HTTP/1.1
 5015   6814   
Host:example.amazonaws.com
 5016         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5017   6815   
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
 5018   6816   
new file mode 100644
 5019   6817   
index 0000000..0468d80
 5020         -
-- /dev/null
        6818  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/context.json
 5021   6819   
@@ -0,0 +1,12 @@
        6820  +
{
        6821  +
    "credentials": {
        6822  +
        "access_key_id": "AKIDEXAMPLE",
        6823  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6824  +
    },
        6825  +
    "expiration_in_seconds": 3600,
        6826  +
    "normalize": true,
        6827  +
    "region": "us-east-1",
        6828  +
    "service": "service",
        6829  +
    "sign_body": false,
        6830  +
    "timestamp": "2015-08-30T12:36:00Z"
        6831  +
}
              \
 No newline at end of file
 5022   6832   
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
 5023   6833   
similarity index 99%
 5024   6834   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-canonical-request.txt
 5025   6835   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-canonical-request.txt
 5026   6836   
index a6942c1..e881ac7 100644
 5027   6837   
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
 5028   6838   
new file mode 100644
 5029   6839   
index 0000000..7c5e47b
 5030         -
-- /dev/null
        6840  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signature.txt
 5031   6841   
@@ -0,0 +1 @@
        6842  +
3044022051fe398025aafbfc21d054bc78e5edfb96c9acb7fd272795565181d757815e4702202e7b8d2b92324290b1d95f8b0fc5e333bb8b5e333f6160bcab39d7258156d224
              \
 No newline at end of file
 5032   6843   
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
 5033   6844   
new file mode 100644
 5034   6845   
index 0000000..c0e50a0
 5035         -
-- /dev/null
        6846  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signed-request.txt
 5036   6847   
@@ -0,0 +1,6 @@
        6848  +
POST / HTTP/1.1
        6849  +
Host:example.amazonaws.com
        6850  +
X-Amz-Date:20150830T123600Z
        6851  +
X-Amz-Region-Set:us-east-1
        6852  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022020e04d83be1fc4c7669eb2530c48444ff2ef65e73ab6d4084ba89b886b70d01a0220570df05bd3ba39ccd96a3e831ed8757fbb516baa603d78eaed3ccc95d50a2abb
        6853  +
 5037   6854   
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
 5038   6855   
similarity index 99%
 5039   6856   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-string-to-sign.txt
 5040   6857   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-string-to-sign.txt
 5041   6858   
index d5650cb..f8adf13 100644
 5042   6859   
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
 5043   6860   
new file mode 100644
 5044   6861   
index 0000000..379dcb2
 5045         -
-- /dev/null
        6862  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/public-key.json
 5046   6863   
@@ -0,0 +1,4 @@
        6864  +
{
        6865  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6866  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6867  +
}
 5047   6868   
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
 5048   6869   
similarity index 99%
 5049   6870   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-canonical-request.txt
 5050   6871   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-canonical-request.txt
 5051   6872   
index e48ce07..5ea8e3c 100644
 5052   6873   
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
 5053   6874   
new file mode 100644
 5054   6875   
index 0000000..ea8e3b4
 5055         -
-- /dev/null
        6876  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signature.txt
 5056   6877   
@@ -0,0 +1 @@
        6878  +
30440220158b75ce84ef2d97a0b287759f9104b9e093ef3a912a84bd78d30274d08c10c4022064fb9961da1d951aba42455df5752c3e3fa8055cd053b59ad53b140d54f6aafd
              \
 No newline at end of file
 5057   6879   
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
 5058   6880   
new file mode 100644
 5059   6881   
index 0000000..616973f
 5060         -
-- /dev/null
        6882  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signed-request.txt
 5061   6883   
@@ -0,0 +1,3 @@
        6884  +
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
        6885  +
Host:example.amazonaws.com
        6886  +
 5062   6887   
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
 5063   6888   
similarity index 99%
 5064   6889   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-string-to-sign.txt
 5065   6890   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-string-to-sign.txt
 5066   6891   
index 34e3382..711c162 100644
 5067   6892   
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
 5068   6893   
new file mode 100644
 5069   6894   
index 0000000..3f0a82a
 5070         -
-- /dev/null
        6895  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/request.txt
 5071   6896   
@@ -0,0 +1,2 @@
        6897  +
POST / HTTP/1.1
        6898  +
Host:example.amazonaws.com
 5072   6899   
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
 5073   6900   
new file mode 100644
 5074   6901   
index 0000000..0db1df1
 5075         -
-- /dev/null
        6902  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/context.json
 5076   6903   
@@ -0,0 +1,12 @@
        6904  +
{
        6905  +
    "credentials": {
        6906  +
        "access_key_id": "AKIDEXAMPLE",
        6907  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6908  +
    },
        6909  +
    "expiration_in_seconds": 3600,
        6910  +
    "normalize": true,
        6911  +
    "region": "us-east-1",
        6912  +
    "service": "service",
        6913  +
    "sign_body": true,
        6914  +
    "timestamp": "2015-08-30T12:36:00Z"
        6915  +
}
              \
 No newline at end of file
 5077   6916   
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
 5078   6917   
similarity index 62%
 5079   6918   
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
 5080   6919   
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
 5081   6920   
index 05ab787..62639b2 100644
 5082         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
        6921  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 5083   6922   
@@ -1,12 +1,12 @@
 5084   6923   
POST
 5085   6924   
/
 5086   6925   
 5087   6926   
content-length:13
 5088   6927   
content-type:application/x-www-form-urlencoded; charset=utf-8
 5089   6928   
host:example.amazonaws.com
 5090         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6929  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 5091   6930   
x-amz-date:20150830T123600Z
 5092   6931   
x-amz-region-set:us-east-1
 5093   6932   
 5094   6933   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 5095         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6934  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5096   6935   
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
 5097   6936   
new file mode 100644
 5098   6937   
index 0000000..006ec2e
 5099         -
-- /dev/null
        6938  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signature.txt
 5100   6939   
@@ -0,0 +1 @@
        6940  +
3045022100eaa8151b5a6e60d9c52dfa60d186a304d0226984aa9ed21f2913267cdfd365c902203bfd4e6dfea58e68d3cb892939f3a00ac91e80c8df69828aefa1e48245928678
              \
 No newline at end of file
 5101   6941   
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
 5102   6942   
new file mode 100644
 5103   6943   
index 0000000..87a11f2
 5104         -
-- /dev/null
        6944  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 5105   6945   
@@ -0,0 +1,10 @@
        6946  +
POST / HTTP/1.1
        6947  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        6948  +
Host:example.amazonaws.com
        6949  +
Content-Length:13
        6950  +
X-Amz-Date:20150830T123600Z
        6951  +
X-Amz-Region-Set:us-east-1
        6952  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        6953  +
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
        6954  +
        6955  +
Param1=value1
              \
 No newline at end of file
 5106   6956   
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
 5107   6957   
new file mode 100644
 5108   6958   
index 0000000..c047afb
 5109         -
-- /dev/null
        6959  +
++ 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
 5110   6960   
@@ -0,0 +1,4 @@
        6961  +
AWS4-ECDSA-P256-SHA256
        6962  +
20150830T123600Z
        6963  +
20150830/service/aws4_request
        6964  +
bcdb9ab3050c0bb18c5e9eb60e6eb1aaaf00907920065569a99b0c51278639b5
              \
 No newline at end of file
 5111   6965   
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
 5112   6966   
new file mode 100644
 5113   6967   
index 0000000..379dcb2
 5114         -
-- /dev/null
        6968  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/public-key.json
 5115   6969   
@@ -0,0 +1,4 @@
        6970  +
{
        6971  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6972  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6973  +
}
 5116   6974   
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
 5117   6975   
similarity index 85%
 5118   6976   
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
 5119   6977   
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
 5120   6978   
index fcc454f..6933a8c 100644
 5121         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
        6979  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 5122   6980   
@@ -1,9 +1,9 @@
 5123   6981   
POST
 5124   6982   
/
 5125   6983   
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
 5126   6984   
content-length:13
 5127   6985   
content-type:application/x-www-form-urlencoded; charset=utf-8
 5128   6986   
host:example.amazonaws.com
 5129   6987   
 5130   6988   
content-length;content-type;host
 5131         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6989  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5132   6990   
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
 5133   6991   
new file mode 100644
 5134   6992   
index 0000000..34a2e12
 5135         -
-- /dev/null
        6993  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signature.txt
 5136   6994   
@@ -0,0 +1 @@
        6995  +
3046022100dcfa462c480d85707221a690323639df78fb10eb2f4913abcfc4eec215c39fb8022100bad863cf9d951963fc2d8068a2887742d553283e5086f644e3ca9ff8b262e13c
              \
 No newline at end of file
 5137   6996   
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
 5138   6997   
new file mode 100644
 5139   6998   
index 0000000..197b99e
 5140         -
-- /dev/null
        6999  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 5141   7000   
@@ -0,0 +1,6 @@
        7001  +
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
        7002  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        7003  +
Host:example.amazonaws.com
        7004  +
Content-Length:13
        7005  +
        7006  +
Param1=value1
              \
 No newline at end of file
 5142   7007   
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
 5143   7008   
new file mode 100644
 5144   7009   
index 0000000..9d2bc74
 5145         -
-- /dev/null
        7010  +
++ 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
 5146   7011   
@@ -0,0 +1,4 @@
        7012  +
AWS4-ECDSA-P256-SHA256
        7013  +
20150830T123600Z
        7014  +
20150830/service/aws4_request
        7015  +
d4dab970413a0459d2a3bb644b278e96e85f2f6ac8fa09a74bbd6a269ec3dd82
              \
 No newline at end of file
 5147   7016   
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
 5148   7017   
similarity index 80%
 5149   7018   
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
 5150   7019   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 5151   7020   
index 36015f1..8289eaa 100644
 5152         -
-- 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
        7021  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 5153   7022   
@@ -1,6 +1,6 @@
 5154   7023   
POST / HTTP/1.1
 5155   7024   
Content-Type:application/x-www-form-urlencoded; charset=utf-8
 5156   7025   
Host:example.amazonaws.com
 5157         -
X-Amz-Date:20150830T123600Z
        7026  +
Content-Length:13
 5158   7027   
 5159   7028   
Param1=value1
              \
 No newline at end of file
 5160   7029   
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
 5161   7030   
new file mode 100644
 5162   7031   
index 0000000..0db1df1
 5163         -
-- /dev/null
        7032  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/context.json
 5164   7033   
@@ -0,0 +1,12 @@
        7034  +
{
        7035  +
    "credentials": {
        7036  +
        "access_key_id": "AKIDEXAMPLE",
        7037  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7038  +
    },
        7039  +
    "expiration_in_seconds": 3600,
        7040  +
    "normalize": true,
        7041  +
    "region": "us-east-1",
        7042  +
    "service": "service",
        7043  +
    "sign_body": true,
        7044  +
    "timestamp": "2015-08-30T12:36:00Z"
        7045  +
}
              \
 No newline at end of file
 5165   7046   
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
 5166   7047   
similarity index 61%
 5167   7048   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
 5168   7049   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 5169   7050   
index 69009dc..797632b 100644
 5170         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
        7051  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 5171   7052   
@@ -1,12 +1,12 @@
 5172   7053   
POST
 5173   7054   
/
 5174   7055   
 5175   7056   
content-length:13
 5176   7057   
content-type:application/x-www-form-urlencoded
 5177   7058   
host:example.amazonaws.com
 5178         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7059  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 5179   7060   
x-amz-date:20150830T123600Z
 5180   7061   
x-amz-region-set:us-east-1
 5181   7062   
 5182   7063   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 5183         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7064  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5184   7065   
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
 5185   7066   
new file mode 100644
 5186   7067   
index 0000000..f5a641c
 5187         -
-- /dev/null
        7068  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signature.txt
 5188   7069   
@@ -0,0 +1 @@
        7070  +
304402202dc0a1ca6ca9308bece143f48201f2500761a242ba6efc7857e1ba01a022e843022053f570cb5adf521df2f6732b5077becd86bc2073b30e9d48c2057851902c1c0e
              \
 No newline at end of file
 5189   7071   
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
 5190   7072   
new file mode 100644
 5191   7073   
index 0000000..7bd94a7
 5192         -
-- /dev/null
        7074  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signed-request.txt
 5193   7075   
@@ -0,0 +1,10 @@
        7076  +
POST / HTTP/1.1
        7077  +
Content-Type:application/x-www-form-urlencoded
        7078  +
Host:example.amazonaws.com
        7079  +
Content-Length:13
        7080  +
X-Amz-Date:20150830T123600Z
        7081  +
X-Amz-Region-Set:us-east-1
        7082  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        7083  +
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
        7084  +
        7085  +
Param1=value1
              \
 No newline at end of file
 5194   7086   
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
 5195   7087   
new file mode 100644
 5196   7088   
index 0000000..8d25ba9
 5197         -
-- /dev/null
        7089  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-string-to-sign.txt
 5198   7090   
@@ -0,0 +1,4 @@
        7091  +
AWS4-ECDSA-P256-SHA256
        7092  +
20150830T123600Z
        7093  +
20150830/service/aws4_request
        7094  +
ba7fa291aefad463b308fdc89b33d852aea9fbcfa151d820117bd8189066cb91
              \
 No newline at end of file
 5199   7095   
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
 5200   7096   
new file mode 100644
 5201   7097   
index 0000000..379dcb2
 5202         -
-- /dev/null
        7098  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/public-key.json
 5203   7099   
@@ -0,0 +1,4 @@
        7100  +
{
        7101  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7102  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7103  +
}
 5204   7104   
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
 5205   7105   
similarity index 99%
 5206   7106   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-canonical-request.txt
 5207   7107   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-canonical-request.txt
 5208   7108   
index 9ed065b..563ff58 100644
 5209   7109   
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
 5210   7110   
new file mode 100644
 5211   7111   
index 0000000..0c77daf
 5212         -
-- /dev/null
        7112  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signature.txt
 5213   7113   
@@ -0,0 +1 @@
        7114  +
304402205e21d399153f879b0f32c38742d12941299467bfdc213224cc76a97acffd6ec6022035a9be37a38c19e98e5cfc536fabe885e82fbf999081234b364cab5cacff8733
              \
 No newline at end of file
 5214   7115   
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
 5215   7116   
new file mode 100644
 5216   7117   
index 0000000..71d6de9
 5217         -
-- /dev/null
        7118  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signed-request.txt
 5218   7119   
@@ -0,0 +1,6 @@
        7120  +
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
        7121  +
Content-Type:application/x-www-form-urlencoded
        7122  +
Host:example.amazonaws.com
        7123  +
Content-Length:13
        7124  +
        7125  +
Param1=value1
              \
 No newline at end of file
 5219   7126   
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
 5220   7127   
similarity index 99%
 5221   7128   
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
 5222   7129   
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
 5223   7130   
index bef3143..cc7a224 100644
 5224   7131   
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
 5225   7132   
new file mode 100644
 5226   7133   
index 0000000..760b2d3
 5227         -
-- /dev/null
        7134  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/request.txt
 5228   7135   
@@ -0,0 +1,6 @@
        7136  +
POST / HTTP/1.1
        7137  +
Content-Type:application/x-www-form-urlencoded
        7138  +
Host:example.amazonaws.com
        7139  +
Content-Length:13
        7140  +
        7141  +
Param1=value1
              \
 No newline at end of file
 5229   7142   
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
 5230   7143   
index 9bd636f..b53f33f 100644
 5231         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
        7144  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
 5232   7145   
@@ -346,67 +346,78 @@ impl CanonicalRequest<'_> {
 5233   7146   
            params.push((Cow::Borrowed(k), Cow::Borrowed(v)));
 5234   7147   
        }
 5235   7148   
 5236   7149   
        if let SignatureValues::QueryParams(values) = values {
 5237   7150   
            add_param(&mut params, param::X_AMZ_DATE, &values.date_time);
 5238   7151   
            add_param(&mut params, param::X_AMZ_EXPIRES, &values.expires);
 5239   7152   
 5240   7153   
            #[cfg(feature = "sigv4a")]
 5241   7154   
            if let Some(regions) = values.region_set {
 5242   7155   
                add_param(&mut params, sigv4a::param::X_AMZ_REGION_SET, regions);
 5243   7156   
            }
 5244   7157   
 5245   7158   
            add_param(&mut params, param::X_AMZ_ALGORITHM, values.algorithm);
 5246   7159   
            add_param(&mut params, param::X_AMZ_CREDENTIAL, &values.credential);
 5247   7160   
            add_param(
 5248   7161   
                &mut params,
 5249   7162   
                param::X_AMZ_SIGNED_HEADERS,
 5250   7163   
                values.signed_headers.as_str(),
 5251   7164   
            );
 5252   7165   
 5253   7166   
            if let Some(security_token) = values.security_token {
 5254   7167   
                add_param(
 5255   7168   
                    &mut params,
 5256   7169   
                    settings
 5257   7170   
                        .session_token_name_override
 5258   7171   
                        .unwrap_or(param::X_AMZ_SECURITY_TOKEN),
 5259   7172   
                    security_token,
 5260   7173   
                );
 5261   7174   
            }
 5262   7175   
        }
 5263         -
        // Sort by param name, and then by param value
        7176  +
        7177  +
        // Sort on the _encoded_ key/value pairs
        7178  +
        let mut params: Vec<(String, String)> = params
        7179  +
            .into_iter()
        7180  +
            .map(|x| {
        7181  +
                use aws_smithy_http::query::fmt_string;
        7182  +
                let enc_k = fmt_string(&x.0);
        7183  +
                let enc_v = fmt_string(&x.1);
        7184  +
                (enc_k, enc_v)
        7185  +
            })
        7186  +
            .collect();
        7187  +
 5264   7188   
        params.sort();
 5265   7189   
 5266   7190   
        let mut query = QueryWriter::new(uri);
 5267   7191   
        query.clear_params();
 5268   7192   
        for (key, value) in params {
 5269         -
            query.insert(&key, &value);
        7193  +
            query.insert_encoded(&key, &value);
 5270   7194   
        }
 5271   7195   
 5272   7196   
        let query = query.build_query();
 5273   7197   
        if query.is_empty() {
 5274   7198   
            None
 5275   7199   
        } else {
 5276   7200   
            Some(query)
 5277   7201   
        }
 5278   7202   
    }
 5279   7203   
 5280   7204   
    fn insert_host_header(
 5281   7205   
        canonical_headers: &mut HeaderMap<HeaderValue>,
 5282   7206   
        uri: &Uri,
 5283   7207   
    ) -> HeaderValue {
 5284   7208   
        match canonical_headers.get(&HOST) {
 5285   7209   
            Some(header) => header.clone(),
 5286   7210   
            None => {
 5287   7211   
                let port = uri.port();
 5288   7212   
                let scheme = uri.scheme();
 5289   7213   
                let authority = uri
 5290   7214   
                    .authority()
 5291   7215   
                    .expect("request uri authority must be set for signing")
 5292   7216   
                    .as_str();
 5293   7217   
                let host = uri
 5294   7218   
                    .host()
 5295   7219   
                    .expect("request uri host must be set for signing");
 5296   7220   
 5297   7221   
                // Check if port is default (80 for HTTP, 443 for HTTPS) and if so exclude it from the
 5298   7222   
                // Host header when signing since RFC 2616 indicates that the default port should not be
 5299   7223   
                // sent in the Host header (and Hyper strips default ports if they are present)
 5300   7224   
@@ -642,310 +653,320 @@ impl<'a> StringToSign<'a> {
 5301   7225   
            service,
 5302   7226   
            hashed_creq,
 5303   7227   
            signature_version: SignatureVersion::V4a,
 5304   7228   
        }
 5305   7229   
    }
 5306   7230   
}
 5307   7231   
 5308   7232   
impl fmt::Display for StringToSign<'_> {
 5309   7233   
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
 5310   7234   
        write!(
 5311   7235   
            f,
 5312   7236   
            "{}\n{}\n{}\n{}",
 5313   7237   
            self.algorithm,
 5314   7238   
            format_date_time(self.time),
 5315   7239   
            match self.signature_version {
 5316   7240   
                SignatureVersion::V4 => self.scope.to_string(),
 5317   7241   
                SignatureVersion::V4a => self.scope.v4a_display(),
 5318   7242   
            },
 5319   7243   
            self.hashed_creq
 5320   7244   
        )
 5321   7245   
    }
 5322   7246   
}
 5323   7247   
 5324   7248   
#[cfg(test)]
 5325   7249   
mod tests {
 5326   7250   
    use crate::date_time::test_parsers::parse_date_time;
 5327   7251   
    use crate::http_request::canonical_request::{
 5328   7252   
        normalize_header_value, trim_all, CanonicalRequest, SigningScope, StringToSign,
 5329   7253   
    };
 5330   7254   
    use crate::http_request::test;
        7255  +
    use crate::http_request::test::SigningSuiteTest;
 5331   7256   
    use crate::http_request::{
 5332   7257   
        PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
 5333   7258   
        SigningParams, SigningSettings,
 5334   7259   
    };
 5335   7260   
    use crate::sign::v4;
 5336   7261   
    use crate::sign::v4::sha256_hex_string;
 5337   7262   
    use aws_credential_types::Credentials;
 5338   7263   
    use aws_smithy_http::query_writer::QueryWriter;
 5339   7264   
    use aws_smithy_runtime_api::client::identity::Identity;
 5340   7265   
    use http0::{HeaderValue, Uri};
 5341   7266   
    use pretty_assertions::assert_eq;
 5342   7267   
    use proptest::{prelude::*, proptest};
 5343   7268   
    use std::borrow::Cow;
 5344   7269   
    use std::time::Duration;
 5345   7270   
 5346   7271   
    fn signing_params(identity: &Identity, settings: SigningSettings) -> SigningParams<'_> {
 5347   7272   
        v4::signing_params::Builder::default()
 5348   7273   
            .identity(identity)
 5349   7274   
            .region("test-region")
 5350   7275   
            .name("testservicename")
 5351   7276   
            .time(parse_date_time("20210511T154045Z").unwrap())
 5352   7277   
            .settings(settings)
 5353   7278   
            .build()
 5354   7279   
            .unwrap()
 5355   7280   
            .into()
 5356   7281   
    }
 5357   7282   
 5358   7283   
    #[test]
 5359   7284   
    fn test_repeated_header() {
 5360         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7285  +
        let test = test::SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7286  +
        let mut req = test.request();
 5361   7287   
        req.headers.push((
 5362   7288   
            "x-amz-object-attributes".to_string(),
 5363   7289   
            "Checksum".to_string(),
 5364   7290   
        ));
 5365   7291   
        req.headers.push((
 5366   7292   
            "x-amz-object-attributes".to_string(),
 5367   7293   
            "ObjectSize".to_string(),
 5368   7294   
        ));
 5369   7295   
        let req = SignableRequest::from(&req);
 5370   7296   
        let settings = SigningSettings {
 5371   7297   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5372   7298   
            session_token_mode: SessionTokenMode::Exclude,
 5373   7299   
            ..Default::default()
 5374   7300   
        };
 5375   7301   
        let identity = Credentials::for_tests().into();
 5376   7302   
        let signing_params = signing_params(&identity, settings);
 5377   7303   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5378   7304   
 5379   7305   
        assert_eq!(
 5380   7306   
            creq.values.signed_headers().to_string(),
 5381   7307   
            "host;x-amz-content-sha256;x-amz-date;x-amz-object-attributes"
 5382   7308   
        );
 5383   7309   
        assert_eq!(
 5384   7310   
            creq.header_values_for("x-amz-object-attributes"),
 5385   7311   
            "Checksum,ObjectSize",
 5386   7312   
        );
 5387   7313   
    }
 5388   7314   
 5389   7315   
    #[test]
 5390   7316   
    fn test_host_header_properly_handles_ports() {
 5391   7317   
        fn host_header_test_setup(endpoint: String) -> String {
 5392         -
            let mut req = test::v4::test_request("get-vanilla");
        7318  +
            let test = SigningSuiteTest::v4("get-vanilla");
        7319  +
            let mut req = test.request();
 5393   7320   
            req.uri = endpoint;
 5394   7321   
            let req = SignableRequest::from(&req);
 5395   7322   
            let settings = SigningSettings {
 5396   7323   
                payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5397   7324   
                session_token_mode: SessionTokenMode::Exclude,
 5398   7325   
                ..Default::default()
 5399   7326   
            };
 5400   7327   
            let identity = Credentials::for_tests().into();
 5401   7328   
            let signing_params = signing_params(&identity, settings);
 5402   7329   
            let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5403   7330   
            creq.header_values_for("host")
 5404   7331   
        }
 5405   7332   
 5406   7333   
        // HTTP request with 80 port should not be signed with that port
 5407   7334   
        let http_80_host_header = host_header_test_setup("http://localhost:80".into());
 5408   7335   
        assert_eq!(http_80_host_header, "localhost",);
 5409   7336   
 5410   7337   
        // HTTP request with non-80 port should be signed with that port
 5411   7338   
        let http_1234_host_header = host_header_test_setup("http://localhost:1234".into());
 5412   7339   
        assert_eq!(http_1234_host_header, "localhost:1234",);
 5413   7340   
 5414   7341   
        // HTTPS request with 443 port should not be signed with that port
 5415   7342   
        let https_443_host_header = host_header_test_setup("https://localhost:443".into());
 5416   7343   
        assert_eq!(https_443_host_header, "localhost",);
 5417   7344   
 5418   7345   
        // HTTPS request with non-443 port should be signed with that port
 5419   7346   
        let https_1234_host_header = host_header_test_setup("https://localhost:1234".into());
 5420   7347   
        assert_eq!(https_1234_host_header, "localhost:1234",);
 5421   7348   
    }
 5422   7349   
 5423   7350   
    #[test]
 5424   7351   
    fn test_set_xamz_sha_256() {
 5425         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        7352  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7353  +
        let req = test.request();
 5426   7354   
        let req = SignableRequest::from(&req);
 5427   7355   
        let settings = SigningSettings {
 5428   7356   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5429   7357   
            session_token_mode: SessionTokenMode::Exclude,
 5430   7358   
            ..Default::default()
 5431   7359   
        };
 5432   7360   
        let identity = Credentials::for_tests().into();
 5433   7361   
        let mut signing_params = signing_params(&identity, settings);
 5434   7362   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5435   7363   
        assert_eq!(
 5436   7364   
            creq.values.content_sha256(),
 5437   7365   
            "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
 5438   7366   
        );
 5439   7367   
        // assert that the sha256 header was added
 5440   7368   
        assert_eq!(
 5441   7369   
            creq.values.signed_headers().as_str(),
 5442   7370   
            "host;x-amz-content-sha256;x-amz-date"
 5443   7371   
        );
 5444   7372   
 5445   7373   
        signing_params.set_payload_checksum_kind(PayloadChecksumKind::NoHeader);
 5446   7374   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5447   7375   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 5448   7376   
    }
 5449   7377   
 5450   7378   
    #[test]
 5451   7379   
    fn test_unsigned_payload() {
 5452         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7380  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7381  +
        let mut req = test.request();
 5453   7382   
        req.set_body(SignableBody::UnsignedPayload);
 5454   7383   
        let req: SignableRequest<'_> = SignableRequest::from(&req);
 5455   7384   
 5456   7385   
        let settings = SigningSettings {
 5457   7386   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5458   7387   
            ..Default::default()
 5459   7388   
        };
 5460   7389   
        let identity = Credentials::for_tests().into();
 5461   7390   
        let signing_params = signing_params(&identity, settings);
 5462   7391   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5463   7392   
        assert_eq!(creq.values.content_sha256(), "UNSIGNED-PAYLOAD");
 5464   7393   
        assert!(creq.to_string().ends_with("UNSIGNED-PAYLOAD"));
 5465   7394   
    }
 5466   7395   
 5467   7396   
    #[test]
 5468   7397   
    fn test_precomputed_payload() {
 5469   7398   
        let payload_hash = "44ce7dd67c959e0d3524ffac1771dfbba87d2b6b4b4e99e42034a8b803f8b072";
 5470         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7399  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7400  +
        let mut req = test.request();
 5471   7401   
        req.set_body(SignableBody::Precomputed(String::from(payload_hash)));
 5472   7402   
        let req = SignableRequest::from(&req);
 5473   7403   
        let settings = SigningSettings {
 5474   7404   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5475   7405   
            ..Default::default()
 5476   7406   
        };
 5477   7407   
        let identity = Credentials::for_tests().into();
 5478   7408   
        let signing_params = signing_params(&identity, settings);
 5479   7409   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5480   7410   
        assert_eq!(creq.values.content_sha256(), payload_hash);
 5481   7411   
        assert!(creq.to_string().ends_with(payload_hash));
 5482   7412   
    }
 5483   7413   
 5484   7414   
    #[test]
 5485   7415   
    fn test_generate_scope() {
 5486   7416   
        let expected = "20150830/us-east-1/iam/aws4_request\n";
 5487   7417   
        let scope = SigningScope {
 5488   7418   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5489   7419   
            region: "us-east-1",
 5490   7420   
            service: "iam",
 5491   7421   
        };
 5492   7422   
        assert_eq!(format!("{}\n", scope), expected);
 5493   7423   
    }
 5494   7424   
 5495   7425   
    #[test]
 5496   7426   
    fn test_string_to_sign() {
 5497   7427   
        let time = parse_date_time("20150830T123600Z").unwrap();
 5498         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
 5499         -
        let expected_sts = test::v4::test_sts("get-vanilla-query-order-key-case");
        7428  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7429  +
        let creq = test.canonical_request(SignatureLocation::Headers);
        7430  +
        let expected_sts = test.string_to_sign(SignatureLocation::Headers);
 5500   7431   
        let encoded = sha256_hex_string(creq.as_bytes());
 5501   7432   
 5502   7433   
        let actual = StringToSign::new_v4(time, "us-east-1", "service", &encoded);
 5503   7434   
        assert_eq!(expected_sts, actual.to_string());
 5504   7435   
    }
 5505   7436   
 5506   7437   
    #[test]
 5507   7438   
    fn test_digest_of_canonical_request() {
 5508         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
        7439  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7440  +
        let creq = test.canonical_request(SignatureLocation::Headers);
 5509   7441   
        let expected = "816cd5b414d056048ba4f7c5386d6e0533120fb1fcfa93762cf0fc39e2cf19e0";
 5510   7442   
        let actual = sha256_hex_string(creq.as_bytes());
 5511   7443   
        assert_eq!(expected, actual);
 5512   7444   
    }
 5513   7445   
 5514   7446   
    #[test]
 5515   7447   
    fn test_double_url_encode_path() {
 5516         -
        let req = test::v4::test_request("double-encode-path");
        7448  +
        let test = SigningSuiteTest::v4("double-encode-path");
        7449  +
        let req = test.request();
 5517   7450   
        let req = SignableRequest::from(&req);
 5518   7451   
        let identity = Credentials::for_tests().into();
 5519   7452   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5520   7453   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5521   7454   
 5522         -
        let expected = test::v4::test_canonical_request("double-encode-path");
        7455  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 5523   7456   
        let actual = format!("{}", creq);
 5524   7457   
        assert_eq!(actual, expected);
 5525   7458   
    }
 5526   7459   
 5527   7460   
    #[test]
 5528   7461   
    fn test_double_url_encode() {
 5529         -
        let req = test::v4::test_request("double-url-encode");
        7462  +
        let test = SigningSuiteTest::v4("double-url-encode");
        7463  +
        let req = test.request();
 5530   7464   
        let req = SignableRequest::from(&req);
 5531   7465   
        let identity = Credentials::for_tests().into();
 5532   7466   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5533   7467   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5534         -
 5535         -
        let expected = test::v4::test_canonical_request("double-url-encode");
        7468  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 5536   7469   
        let actual = format!("{}", creq);
 5537   7470   
        assert_eq!(actual, expected);
 5538   7471   
    }
 5539   7472   
 5540   7473   
    #[test]
 5541   7474   
    fn test_tilde_in_uri() {
 5542   7475   
        let req = http0::Request::builder()
 5543   7476   
            .uri("https://s3.us-east-1.amazonaws.com/my-bucket?list-type=2&prefix=~objprefix&single&k=&unreserved=-_.~").body("").unwrap().into();
 5544   7477   
        let req = SignableRequest::from(&req);
 5545   7478   
        let identity = Credentials::for_tests().into();
 5546   7479   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5547   7480   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5548   7481   
        assert_eq!(
 5549   7482   
            Some("k=&list-type=2&prefix=~objprefix&single=&unreserved=-_.~"),
 5550   7483   
            creq.params.as_deref(),
 5551   7484   
        );
 5552   7485   
    }
 5553   7486   
 5554   7487   
    #[test]
 5555   7488   
    fn test_signing_urls_with_percent_encoded_query_strings() {
 5556   7489   
        let all_printable_ascii_chars: String = (32u8..127).map(char::from).collect();
 5557   7490   
        let uri = Uri::from_static("https://s3.us-east-1.amazonaws.com/my-bucket");
 5558   7491   
 5559   7492   
        let mut query_writer = QueryWriter::new(&uri);
 5560   7493   
        query_writer.insert("list-type", "2");
 5561   7494   
        query_writer.insert("prefix", &all_printable_ascii_chars);
 5562   7495   
 5563   7496   
        let req = http0::Request::builder()
 5564   7497   
            .uri(query_writer.build_uri())
 5565   7498   
            .body("")
 5566   7499   
            .unwrap()
 5567   7500   
            .into();
 5568   7501   
        let req = SignableRequest::from(&req);
 5569   7502   
        let identity = Credentials::for_tests().into();
 5570   7503   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5571   7504   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5572   7505   
 5573   7506   
        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~";
 5574   7507   
        let actual = creq.params.unwrap();
 5575   7508   
        assert_eq!(expected, actual);
 5576   7509   
    }
 5577   7510   
 5578   7511   
    #[test]
 5579   7512   
    fn test_omit_session_token() {
 5580         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        7513  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7514  +
        let req = test.request();
 5581   7515   
        let req = SignableRequest::from(&req);
 5582   7516   
        let settings = SigningSettings {
 5583   7517   
            session_token_mode: SessionTokenMode::Include,
 5584   7518   
            ..Default::default()
 5585   7519   
        };
 5586   7520   
        let identity = Credentials::for_tests_with_session_token().into();
 5587   7521   
        let mut signing_params = signing_params(&identity, settings);
 5588   7522   
 5589   7523   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5590   7524   
        assert_eq!(
 5591   7525   
            creq.values.signed_headers().as_str(),
 5592   7526   
            "host;x-amz-date;x-amz-security-token"
 5593   7527   
        );
 5594   7528   
        assert_eq!(
 5595   7529   
            creq.headers.get("x-amz-security-token").unwrap(),
 5596   7530   
            "notarealsessiontoken"
 5597   7531   
        );
 5598   7532   
 5599   7533   
        signing_params.set_session_token_mode(SessionTokenMode::Exclude);
 5600   7534   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5601   7535   
        assert_eq!(
 5602   7536   
            creq.headers.get("x-amz-security-token").unwrap(),
 5603   7537   
            "notarealsessiontoken"
 5604   7538   
        );
 5605   7539   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 5606   7540   
    }
 5607   7541   
 5608   7542   
    // It should exclude authorization, user-agent, x-amzn-trace-id, and transfer-encoding headers from presigning
 5609   7543   
    #[test]
 5610   7544   
    fn non_presigning_header_exclusion() {
 5611   7545   
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
 5612   7546   
index c4bbbee..363fc2c 100644
 5613         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
        7547  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
 5614   7548   
@@ -6,60 +6,62 @@
 5615   7549   
use super::error::SigningError;
 5616   7550   
use super::{PayloadChecksumKind, SignatureLocation};
 5617   7551   
use crate::http_request::canonical_request::header;
 5618   7552   
use crate::http_request::canonical_request::param;
 5619   7553   
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 5620   7554   
use crate::http_request::error::CanonicalRequestError;
 5621   7555   
use crate::http_request::SigningParams;
 5622   7556   
use crate::sign::v4;
 5623   7557   
#[cfg(feature = "sigv4a")]
 5624   7558   
use crate::sign::v4a;
 5625   7559   
use crate::{SignatureVersion, SigningOutput};
 5626   7560   
use http0::Uri;
 5627   7561   
use std::borrow::Cow;
 5628   7562   
use std::fmt::{Debug, Formatter};
 5629   7563   
use std::str;
 5630   7564   
 5631   7565   
const LOG_SIGNABLE_BODY: &str = "LOG_SIGNABLE_BODY";
 5632   7566   
 5633   7567   
/// Represents all of the information necessary to sign an HTTP request.
 5634   7568   
#[derive(Debug)]
 5635   7569   
#[non_exhaustive]
 5636   7570   
pub struct SignableRequest<'a> {
 5637   7571   
    method: &'a str,
 5638   7572   
    uri: Uri,
 5639   7573   
    headers: Vec<(&'a str, &'a str)>,
 5640   7574   
    body: SignableBody<'a>,
 5641   7575   
}
 5642   7576   
 5643   7577   
impl<'a> SignableRequest<'a> {
 5644   7578   
    /// Creates a new `SignableRequest`.
        7579  +
    ///
        7580  +
    /// NOTE: The `uri` is expected to already in encoded form.
 5645   7581   
    pub fn new(
 5646   7582   
        method: &'a str,
 5647   7583   
        uri: impl Into<Cow<'a, str>>,
 5648   7584   
        headers: impl Iterator<Item = (&'a str, &'a str)>,
 5649   7585   
        body: SignableBody<'a>,
 5650   7586   
    ) -> Result<Self, SigningError> {
 5651   7587   
        let uri = uri
 5652   7588   
            .into()
 5653   7589   
            .parse()
 5654   7590   
            .map_err(|e| SigningError::from(CanonicalRequestError::from(e)))?;
 5655   7591   
        let headers = headers.collect();
 5656   7592   
        Ok(Self {
 5657   7593   
            method,
 5658   7594   
            uri,
 5659   7595   
            headers,
 5660   7596   
            body,
 5661   7597   
        })
 5662   7598   
    }
 5663   7599   
 5664   7600   
    /// Returns the signable URI
 5665   7601   
    pub(crate) fn uri(&self) -> &Uri {
 5666   7602   
        &self.uri
 5667   7603   
    }
 5668   7604   
 5669   7605   
    /// Returns the signable HTTP method
 5670   7606   
    pub(crate) fn method(&self) -> &str {
 5671   7607   
        self.method
 5672   7608   
    }
 5673   7609   
 5674   7610   
    /// Returns the request headers
 5675   7611   
@@ -478,436 +480,324 @@ fn add_header(map: &mut Vec<Header>, key: &'static str, value: &str, sensitive:
 5676   7612   
        sensitive,
 5677   7613   
    });
 5678   7614   
}
 5679   7615   
 5680   7616   
// add signature to authorization header
 5681   7617   
// Authorization: algorithm Credential=access key ID/credential scope, SignedHeaders=SignedHeaders, Signature=signature
 5682   7618   
fn build_authorization_header(
 5683   7619   
    access_key: &str,
 5684   7620   
    creq: &CanonicalRequest<'_>,
 5685   7621   
    sts: StringToSign<'_>,
 5686   7622   
    signature: &str,
 5687   7623   
    signature_version: SignatureVersion,
 5688   7624   
) -> String {
 5689   7625   
    let scope = match signature_version {
 5690   7626   
        SignatureVersion::V4 => sts.scope.to_string(),
 5691   7627   
        SignatureVersion::V4a => sts.scope.v4a_display(),
 5692   7628   
    };
 5693   7629   
    format!(
 5694   7630   
        "{} Credential={}/{}, SignedHeaders={}, Signature={}",
 5695   7631   
        sts.algorithm,
 5696   7632   
        access_key,
 5697   7633   
        scope,
 5698   7634   
        creq.values.signed_headers().as_str(),
 5699   7635   
        signature
 5700   7636   
    )
 5701   7637   
}
 5702   7638   
#[cfg(test)]
 5703   7639   
mod tests {
 5704   7640   
    use crate::date_time::test_parsers::parse_date_time;
 5705   7641   
    use crate::http_request::sign::{add_header, SignableRequest};
        7642  +
    use crate::http_request::test::SigningSuiteTest;
 5706   7643   
    use crate::http_request::{
 5707         -
        sign, test, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
        7644  +
        sign, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
 5708   7645   
        SigningSettings,
 5709   7646   
    };
 5710   7647   
    use crate::sign::v4;
 5711   7648   
    use aws_credential_types::Credentials;
 5712   7649   
    use http0::{HeaderValue, Request};
 5713   7650   
    use pretty_assertions::assert_eq;
 5714   7651   
    use proptest::proptest;
 5715   7652   
    use std::borrow::Cow;
 5716   7653   
    use std::iter;
 5717         -
    use std::time::Duration;
 5718   7654   
 5719   7655   
    macro_rules! assert_req_eq {
 5720   7656   
        (http: $expected:expr, $actual:expr) => {
 5721   7657   
            let mut expected = ($expected).map(|_b|"body");
 5722   7658   
            let mut actual = ($actual).map(|_b|"body");
 5723   7659   
            make_headers_comparable(&mut expected);
 5724   7660   
            make_headers_comparable(&mut actual);
 5725   7661   
            assert_eq!(format!("{:?}", expected), format!("{:?}", actual));
 5726   7662   
        };
 5727   7663   
        ($expected:tt, $actual:tt) => {
 5728   7664   
            assert_req_eq!(http: ($expected).as_http_request(), $actual);
 5729   7665   
        };
 5730   7666   
    }
 5731   7667   
 5732   7668   
    pub(crate) fn make_headers_comparable<B>(request: &mut Request<B>) {
 5733   7669   
        for (_name, value) in request.headers_mut() {
 5734   7670   
            value.set_sensitive(false);
 5735   7671   
        }
 5736   7672   
    }
 5737   7673   
 5738         -
    #[test]
 5739         -
    fn test_sign_vanilla_with_headers() {
 5740         -
        let settings = SigningSettings::default();
 5741         -
        let identity = &Credentials::for_tests().into();
 5742         -
        let params = v4::SigningParams {
 5743         -
            identity,
 5744         -
            region: "us-east-1",
 5745         -
            name: "service",
 5746         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 5747         -
            settings,
 5748         -
        }
 5749         -
        .into();
 5750         -
 5751         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 5752         -
        let signable = SignableRequest::from(&original);
 5753         -
        let out = sign(signable, &params).unwrap();
 5754         -
        assert_eq!(
 5755         -
            "5557820e7380d585310524bd93d51a08d7757fb5efd7344ee12088f2b0860947",
 5756         -
            out.signature
 5757         -
        );
 5758         -
 5759         -
        let mut signed = original.as_http_request();
 5760         -
        out.output.apply_to_request_http0x(&mut signed);
 5761         -
 5762         -
        let expected = test::v4::test_signed_request("get-vanilla-query-order-key-case");
 5763         -
        assert_req_eq!(expected, signed);
 5764         -
    }
 5765         -
        7674  +
    // Sigv4A suite tests
 5766   7675   
    #[cfg(feature = "sigv4a")]
 5767         -
    mod sigv4a_tests {
 5768         -
        use super::*;
 5769         -
        use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 5770         -
        use crate::http_request::{sign, test, SigningParams};
 5771         -
        use crate::sign::v4a;
 5772         -
        use p256::ecdsa::signature::{Signature, Verifier};
 5773         -
        use p256::ecdsa::{DerSignature, SigningKey};
 5774         -
        use pretty_assertions::assert_eq;
 5775         -
 5776         -
        fn new_v4a_signing_params_from_context(
 5777         -
            test_context: &'_ test::v4a::TestContext,
 5778         -
            signature_location: SignatureLocation,
 5779         -
        ) -> SigningParams<'_> {
 5780         -
            let mut params = v4a::SigningParams::from(test_context);
 5781         -
            params.settings.signature_location = signature_location;
 5782         -
 5783         -
            params.into()
 5784         -
        }
 5785         -
 5786         -
        fn run_v4a_test_suite(test_name: &str, signature_location: SignatureLocation) {
 5787         -
            let tc = test::v4a::test_context(test_name);
 5788         -
            let params = new_v4a_signing_params_from_context(&tc, signature_location);
 5789         -
 5790         -
            let req = test::v4a::test_request(test_name);
 5791         -
            let expected_creq = test::v4a::test_canonical_request(test_name, signature_location);
 5792         -
            let signable_req = SignableRequest::from(&req);
 5793         -
            let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        7676  +
    mod v4a_suite {
        7677  +
        use crate::http_request::test::v4a::run_test_suite_v4a;
 5794   7678   
 5795         -
            assert_eq!(expected_creq, actual_creq.to_string(), "creq didn't match");
 5796         -
 5797         -
            let expected_string_to_sign =
 5798         -
                test::v4a::test_string_to_sign(test_name, signature_location);
 5799         -
            let hashed_creq = &v4::sha256_hex_string(actual_creq.to_string().as_bytes());
 5800         -
            let actual_string_to_sign = StringToSign::new_v4a(
 5801         -
                *params.time(),
 5802         -
                params.region_set().unwrap(),
 5803         -
                params.name(),
 5804         -
                hashed_creq,
 5805         -
            )
 5806         -
            .to_string();
 5807         -
 5808         -
            assert_eq!(
 5809         -
                expected_string_to_sign, actual_string_to_sign,
 5810         -
                "'string to sign' didn't match"
 5811         -
            );
 5812         -
 5813         -
            let out = sign(signable_req, &params).unwrap();
 5814         -
            // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
 5815         -
            out.output
 5816         -
                .apply_to_request_http0x(&mut req.as_http_request());
 5817         -
 5818         -
            let creds = params.credentials().unwrap();
 5819         -
            let signing_key =
 5820         -
                v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
 5821         -
            let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
 5822         -
            let sig = sig
 5823         -
                .try_into()
 5824         -
                .expect("DER-style signatures are always convertible into fixed-size signatures");
 5825         -
 5826         -
            let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
 5827         -
            let peer_public_key = signing_key.verifying_key();
 5828         -
            let sts = actual_string_to_sign.as_bytes();
 5829         -
            peer_public_key.verify(sts, &sig).unwrap();
        7679  +
        #[test]
        7680  +
        fn test_get_header_key_duplicate() {
        7681  +
            run_test_suite_v4a("get-header-key-duplicate")
 5830   7682   
        }
 5831   7683   
 5832   7684   
        #[test]
 5833         -
        fn test_get_header_key_duplicate() {
 5834         -
            run_v4a_test_suite("get-header-key-duplicate", SignatureLocation::Headers);
        7685  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7686  +
        fn test_get_header_value_multiline() {
        7687  +
            run_test_suite_v4a("get-header-value-multiline")
 5835   7688   
        }
 5836   7689   
 5837   7690   
        #[test]
 5838   7691   
        fn test_get_header_value_order() {
 5839         -
            run_v4a_test_suite("get-header-value-order", SignatureLocation::Headers);
        7692  +
            run_test_suite_v4a("get-header-value-order")
 5840   7693   
        }
 5841   7694   
 5842   7695   
        #[test]
 5843   7696   
        fn test_get_header_value_trim() {
 5844         -
            run_v4a_test_suite("get-header-value-trim", SignatureLocation::Headers);
        7697  +
            run_test_suite_v4a("get-header-value-trim");
 5845   7698   
        }
 5846   7699   
 5847   7700   
        #[test]
 5848   7701   
        fn test_get_relative_normalized() {
 5849         -
            run_v4a_test_suite("get-relative-normalized", SignatureLocation::Headers);
        7702  +
            run_test_suite_v4a("get-relative-normalized");
 5850   7703   
        }
 5851   7704   
 5852   7705   
        #[test]
 5853   7706   
        fn test_get_relative_relative_normalized() {
 5854         -
            run_v4a_test_suite(
 5855         -
                "get-relative-relative-normalized",
 5856         -
                SignatureLocation::Headers,
 5857         -
            );
        7707  +
            run_test_suite_v4a("get-relative-relative-normalized");
 5858   7708   
        }
 5859   7709   
 5860   7710   
        #[test]
 5861   7711   
        fn test_get_relative_relative_unnormalized() {
 5862         -
            run_v4a_test_suite(
 5863         -
                "get-relative-relative-unnormalized",
 5864         -
                SignatureLocation::Headers,
 5865         -
            );
        7712  +
            run_test_suite_v4a("get-relative-relative-unnormalized");
 5866   7713   
        }
 5867   7714   
 5868   7715   
        #[test]
 5869   7716   
        fn test_get_relative_unnormalized() {
 5870         -
            run_v4a_test_suite("get-relative-unnormalized", SignatureLocation::Headers);
        7717  +
            run_test_suite_v4a("get-relative-unnormalized");
 5871   7718   
        }
 5872   7719   
 5873   7720   
        #[test]
 5874   7721   
        fn test_get_slash_dot_slash_normalized() {
 5875         -
            run_v4a_test_suite("get-slash-dot-slash-normalized", SignatureLocation::Headers);
        7722  +
            run_test_suite_v4a("get-slash-dot-slash-normalized");
 5876   7723   
        }
 5877   7724   
 5878   7725   
        #[test]
 5879   7726   
        fn test_get_slash_dot_slash_unnormalized() {
 5880         -
            run_v4a_test_suite(
 5881         -
                "get-slash-dot-slash-unnormalized",
 5882         -
                SignatureLocation::Headers,
 5883         -
            );
        7727  +
            run_test_suite_v4a("get-slash-dot-slash-unnormalized");
 5884   7728   
        }
 5885   7729   
 5886   7730   
        #[test]
 5887   7731   
        fn test_get_slash_normalized() {
 5888         -
            run_v4a_test_suite("get-slash-normalized", SignatureLocation::Headers);
        7732  +
            run_test_suite_v4a("get-slash-normalized");
 5889   7733   
        }
 5890   7734   
 5891   7735   
        #[test]
 5892   7736   
        fn test_get_slash_pointless_dot_normalized() {
 5893         -
            run_v4a_test_suite(
 5894         -
                "get-slash-pointless-dot-normalized",
 5895         -
                SignatureLocation::Headers,
 5896         -
            );
        7737  +
            run_test_suite_v4a("get-slash-pointless-dot-normalized");
 5897   7738   
        }
 5898   7739   
 5899   7740   
        #[test]
 5900   7741   
        fn test_get_slash_pointless_dot_unnormalized() {
 5901         -
            run_v4a_test_suite(
 5902         -
                "get-slash-pointless-dot-unnormalized",
 5903         -
                SignatureLocation::Headers,
 5904         -
            );
        7742  +
            run_test_suite_v4a("get-slash-pointless-dot-unnormalized");
 5905   7743   
        }
 5906   7744   
 5907   7745   
        #[test]
 5908   7746   
        fn test_get_slash_unnormalized() {
 5909         -
            run_v4a_test_suite("get-slash-unnormalized", SignatureLocation::Headers);
        7747  +
            run_test_suite_v4a("get-slash-unnormalized");
 5910   7748   
        }
 5911   7749   
 5912   7750   
        #[test]
 5913   7751   
        fn test_get_slashes_normalized() {
 5914         -
            run_v4a_test_suite("get-slashes-normalized", SignatureLocation::Headers);
        7752  +
            run_test_suite_v4a("get-slashes-normalized");
 5915   7753   
        }
 5916   7754   
 5917   7755   
        #[test]
 5918   7756   
        fn test_get_slashes_unnormalized() {
 5919         -
            run_v4a_test_suite("get-slashes-unnormalized", SignatureLocation::Headers);
        7757  +
            run_test_suite_v4a("get-slashes-unnormalized");
        7758  +
        }
        7759  +
        7760  +
        #[test]
        7761  +
        #[ignore = "relies on single encode of path segments"]
        7762  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        7763  +
        // skipped until we add control over double_uri_encode in context.json
        7764  +
        fn test_get_space_normalized() {
        7765  +
            run_test_suite_v4a("get-space-normalized");
        7766  +
        }
        7767  +
        7768  +
        #[test]
        7769  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        7770  +
        // the input request has unencoded space ' ' in the path which fails to parse
        7771  +
        fn test_get_space_unnormalized() {
        7772  +
            run_test_suite_v4a("get-space-unnormalized");
 5920   7773   
        }
 5921   7774   
 5922   7775   
        #[test]
 5923   7776   
        fn test_get_unreserved() {
 5924         -
            run_v4a_test_suite("get-unreserved", SignatureLocation::Headers);
        7777  +
            run_test_suite_v4a("get-unreserved");
        7778  +
        }
        7779  +
        7780  +
        #[test]
        7781  +
        #[ignore = "httparse fails on invalid uri character"]
        7782  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7783  +
        fn test_get_utf8() {
        7784  +
            run_test_suite_v4a("get-utf8");
 5925   7785   
        }
 5926   7786   
 5927   7787   
        #[test]
 5928   7788   
        fn test_get_vanilla() {
 5929         -
            run_v4a_test_suite("get-vanilla", SignatureLocation::Headers);
        7789  +
            run_test_suite_v4a("get-vanilla");
 5930   7790   
        }
 5931   7791   
 5932   7792   
        #[test]
 5933   7793   
        fn test_get_vanilla_empty_query_key() {
 5934         -
            run_v4a_test_suite(
 5935         -
                "get-vanilla-empty-query-key",
 5936         -
                SignatureLocation::QueryParams,
 5937         -
            );
        7794  +
            run_test_suite_v4a("get-vanilla-empty-query-key");
 5938   7795   
        }
 5939   7796   
 5940   7797   
        #[test]
 5941   7798   
        fn test_get_vanilla_query() {
 5942         -
            run_v4a_test_suite("get-vanilla-query", SignatureLocation::QueryParams);
        7799  +
            run_test_suite_v4a("get-vanilla-query");
        7800  +
        }
        7801  +
        7802  +
        #[test]
        7803  +
        fn test_get_vanilla_query_order_encoded() {
        7804  +
            run_test_suite_v4a("get-vanilla-query-order-encoded");
 5943   7805   
        }
 5944   7806   
 5945   7807   
        #[test]
 5946   7808   
        fn test_get_vanilla_query_order_key_case() {
 5947         -
            run_v4a_test_suite(
 5948         -
                "get-vanilla-query-order-key-case",
 5949         -
                SignatureLocation::QueryParams,
 5950         -
            );
        7809  +
            run_test_suite_v4a("get-vanilla-query-order-key-case");
 5951   7810   
        }
 5952   7811   
 5953   7812   
        #[test]
 5954   7813   
        fn test_get_vanilla_query_unreserved() {
 5955         -
            run_v4a_test_suite(
 5956         -
                "get-vanilla-query-unreserved",
 5957         -
                SignatureLocation::QueryParams,
 5958         -
            );
        7814  +
            run_test_suite_v4a("get-vanilla-query-unreserved");
        7815  +
        }
        7816  +
        7817  +
        #[test]
        7818  +
        #[ignore = "httparse fails on invalid uri character"]
        7819  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7820  +
        fn test_get_vanilla_utf8_query() {
        7821  +
            run_test_suite_v4a("get-vanilla-utf8-query");
 5959   7822   
        }
 5960   7823   
 5961   7824   
        #[test]
 5962   7825   
        fn test_get_vanilla_with_session_token() {
 5963         -
            run_v4a_test_suite("get-vanilla-with-session-token", SignatureLocation::Headers);
        7826  +
            run_test_suite_v4a("get-vanilla-with-session-token")
 5964   7827   
        }
 5965   7828   
 5966   7829   
        #[test]
 5967   7830   
        fn test_post_header_key_case() {
 5968         -
            run_v4a_test_suite("post-header-key-case", SignatureLocation::Headers);
        7831  +
            run_test_suite_v4a("post-header-key-case");
 5969   7832   
        }
 5970   7833   
 5971   7834   
        #[test]
 5972   7835   
        fn test_post_header_key_sort() {
 5973         -
            run_v4a_test_suite("post-header-key-sort", SignatureLocation::Headers);
        7836  +
            run_test_suite_v4a("post-header-key-sort");
 5974   7837   
        }
 5975   7838   
 5976   7839   
        #[test]
 5977   7840   
        fn test_post_header_value_case() {
 5978         -
            run_v4a_test_suite("post-header-value-case", SignatureLocation::Headers);
        7841  +
            run_test_suite_v4a("post-header-value-case");
 5979   7842   
        }
 5980   7843   
 5981   7844   
        #[test]
 5982   7845   
        fn test_post_sts_header_after() {
 5983         -
            run_v4a_test_suite("post-sts-header-after", SignatureLocation::Headers);
        7846  +
            run_test_suite_v4a("post-sts-header-after");
 5984   7847   
        }
 5985   7848   
 5986   7849   
        #[test]
 5987   7850   
        fn test_post_sts_header_before() {
 5988         -
            run_v4a_test_suite("post-sts-header-before", SignatureLocation::Headers);
        7851  +
            run_test_suite_v4a("post-sts-header-before");
 5989   7852   
        }
 5990   7853   
 5991   7854   
        #[test]
 5992   7855   
        fn test_post_vanilla() {
 5993         -
            run_v4a_test_suite("post-vanilla", SignatureLocation::Headers);
        7856  +
            run_test_suite_v4a("post-vanilla");
 5994   7857   
        }
 5995   7858   
 5996   7859   
        #[test]
 5997   7860   
        fn test_post_vanilla_empty_query_value() {
 5998         -
            run_v4a_test_suite(
 5999         -
                "post-vanilla-empty-query-value",
 6000         -
                SignatureLocation::QueryParams,
 6001         -
            );
        7861  +
            run_test_suite_v4a("post-vanilla-empty-query-value");
 6002   7862   
        }
 6003   7863   
 6004   7864   
        #[test]
 6005   7865   
        fn test_post_vanilla_query() {
 6006         -
            run_v4a_test_suite("post-vanilla-query", SignatureLocation::QueryParams);
        7866  +
            run_test_suite_v4a("post-vanilla-query");
 6007   7867   
        }
 6008   7868   
 6009   7869   
        #[test]
 6010   7870   
        fn test_post_x_www_form_urlencoded() {
 6011         -
            run_v4a_test_suite("post-x-www-form-urlencoded", SignatureLocation::Headers);
        7871  +
            run_test_suite_v4a("post-x-www-form-urlencoded");
 6012   7872   
        }
 6013   7873   
 6014   7874   
        #[test]
 6015   7875   
        fn test_post_x_www_form_urlencoded_parameters() {
 6016         -
            run_v4a_test_suite(
 6017         -
                "post-x-www-form-urlencoded-parameters",
 6018         -
                SignatureLocation::QueryParams,
 6019         -
            );
        7876  +
            run_test_suite_v4a("post-x-www-form-urlencoded-parameters");
 6020   7877   
        }
 6021   7878   
    }
 6022   7879   
 6023   7880   
    #[test]
 6024   7881   
    fn test_sign_url_escape() {
 6025         -
        let test = "double-encode-path";
        7882  +
        let test = SigningSuiteTest::v4("double-encode-path");
 6026   7883   
        let settings = SigningSettings::default();
 6027   7884   
        let identity = &Credentials::for_tests().into();
 6028   7885   
        let params = v4::SigningParams {
 6029   7886   
            identity,
 6030   7887   
            region: "us-east-1",
 6031   7888   
            name: "service",
 6032   7889   
            time: parse_date_time("20150830T123600Z").unwrap(),
 6033   7890   
            settings,
 6034   7891   
        }
 6035   7892   
        .into();
 6036   7893   
 6037         -
        let original = test::v4::test_request(test);
        7894  +
        let original = test.request();
 6038   7895   
        let signable = SignableRequest::from(&original);
 6039   7896   
        let out = sign(signable, &params).unwrap();
 6040   7897   
        assert_eq!(
 6041   7898   
            "57d157672191bac40bae387e48bbe14b15303c001fdbb01f4abf295dccb09705",
 6042   7899   
            out.signature
 6043   7900   
        );
 6044   7901   
 6045   7902   
        let mut signed = original.as_http_request();
 6046   7903   
        out.output.apply_to_request_http0x(&mut signed);
 6047   7904   
 6048         -
        let expected = test::v4::test_signed_request(test);
 6049         -
        assert_req_eq!(expected, signed);
 6050         -
    }
 6051         -
 6052         -
    #[test]
 6053         -
    fn test_sign_vanilla_with_query_params() {
 6054         -
        let settings = SigningSettings {
 6055         -
            signature_location: SignatureLocation::QueryParams,
 6056         -
            expires_in: Some(Duration::from_secs(35)),
 6057         -
            ..Default::default()
 6058         -
        };
 6059         -
        let identity = &Credentials::for_tests().into();
 6060         -
        let params = v4::SigningParams {
 6061         -
            identity,
 6062         -
            region: "us-east-1",
 6063         -
            name: "service",
 6064         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 6065         -
            settings,
 6066         -
        }
 6067         -
        .into();
 6068         -
 6069         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 6070         -
        let signable = SignableRequest::from(&original);
 6071         -
        let out = sign(signable, &params).unwrap();
 6072         -
        assert_eq!(
 6073         -
            "ecce208e4b4f7d7e3a4cc22ced6acc2ad1d170ee8ba87d7165f6fa4b9aff09ab",
 6074         -
            out.signature
 6075         -
        );
 6076         -
 6077         -
        let mut signed = original.as_http_request();
 6078         -
        out.output.apply_to_request_http0x(&mut signed);
 6079         -
 6080         -
        let expected =
 6081         -
            test::v4::test_signed_request_query_params("get-vanilla-query-order-key-case");
        7905  +
        let expected = test.signed_request(SignatureLocation::Headers);
 6082   7906   
        assert_req_eq!(expected, signed);
 6083   7907   
    }
 6084   7908   
 6085   7909   
    #[test]
 6086   7910   
    fn test_sign_headers_utf8() {
 6087   7911   
        let settings = SigningSettings::default();
 6088   7912   
        let identity = &Credentials::for_tests().into();
 6089   7913   
        let params = v4::SigningParams {
 6090   7914   
            identity,
 6091   7915   
            region: "us-east-1",
 6092   7916   
            name: "service",
 6093   7917   
            time: parse_date_time("20150830T123600Z").unwrap(),
 6094   7918   
            settings,
 6095   7919   
        }
 6096   7920   
        .into();
 6097   7921   
 6098   7922   
        let original = http0::Request::builder()
 6099   7923   
            .uri("https://some-endpoint.some-region.amazonaws.com")
 6100   7924   
            .header("some-header", HeaderValue::from_str("テスト").unwrap())
 6101   7925   
            .body("")
 6102   7926   
            .unwrap()
 6103   7927   
            .into();
 6104   7928   
        let signable = SignableRequest::from(&original);
 6105   7929   
        let out = sign(signable, &params).unwrap();
 6106   7930   
        assert_eq!(
 6107   7931   
            "55e16b31f9bde5fd04f9d3b780dd2b5e5f11a5219001f91a8ca9ec83eaf1618f",
 6108   7932   
            out.signature
 6109   7933   
        );
 6110   7934   
 6111   7935   
        let mut signed = original.as_http_request();
 6112   7936   
@@ -1138,31 +1028,236 @@ mod tests {
 6113   7937   
        let mut request = http::Request::builder()
 6114   7938   
            .uri("https://some-endpoint.some-region.amazonaws.com/some/path")
 6115   7939   
            .body("")
 6116   7940   
            .unwrap();
 6117   7941   
 6118   7942   
        instructions.apply_to_request_http1x(&mut request);
 6119   7943   
 6120   7944   
        assert_eq!(
 6121   7945   
            "/some/path?some-param=f%26o%3Fo&some-other-param%3F=bar",
 6122   7946   
            request.uri().path_and_query().unwrap().to_string()
 6123   7947   
        );
 6124   7948   
    }
 6125   7949   
 6126   7950   
    #[test]
 6127   7951   
    fn test_debug_signable_body() {
 6128   7952   
        let sut = SignableBody::Bytes(b"hello signable body");
 6129   7953   
        assert_eq!(
 6130   7954   
            "Bytes(\"** REDACTED **. To print 19 bytes of raw data, set environment variable `LOG_SIGNABLE_BODY=true`\")",
 6131   7955   
            format!("{sut:?}")
 6132   7956   
        );
 6133   7957   
 6134   7958   
        let sut = SignableBody::UnsignedPayload;
 6135   7959   
        assert_eq!("UnsignedPayload", format!("{sut:?}"));
 6136   7960   
 6137   7961   
        let sut = SignableBody::Precomputed("precomputed".to_owned());
 6138   7962   
        assert_eq!("Precomputed(\"precomputed\")", format!("{sut:?}"));
 6139   7963   
 6140   7964   
        let sut = SignableBody::StreamingUnsignedPayloadTrailer;
 6141   7965   
        assert_eq!("StreamingUnsignedPayloadTrailer", format!("{sut:?}"));
 6142   7966   
    }
        7967  +
        7968  +
    // v4 test suite
        7969  +
    mod v4_suite {
        7970  +
        use crate::http_request::test::run_test_suite_v4;
        7971  +
        7972  +
        #[test]
        7973  +
        fn test_get_header_key_duplicate() {
        7974  +
            run_test_suite_v4("get-header-key-duplicate");
        7975  +
        }
        7976  +
        7977  +
        #[test]
        7978  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7979  +
        fn test_get_header_value_multiline() {
        7980  +
            run_test_suite_v4("get-header-value-multiline");
        7981  +
        }
        7982  +
        7983  +
        #[test]
        7984  +
        fn test_get_header_value_order() {
        7985  +
            run_test_suite_v4("get-header-value-order");
        7986  +
        }
        7987  +
        7988  +
        #[test]
        7989  +
        fn test_get_header_value_trim() {
        7990  +
            run_test_suite_v4("get-header-value-trim");
        7991  +
        }
        7992  +
        7993  +
        #[test]
        7994  +
        fn test_get_relative_normalized() {
        7995  +
            run_test_suite_v4("get-relative-normalized");
        7996  +
        }
        7997  +
        7998  +
        #[test]
        7999  +
        fn test_get_relative_relative_normalized() {
        8000  +
            run_test_suite_v4("get-relative-relative-normalized");
        8001  +
        }
        8002  +
        8003  +
        #[test]
        8004  +
        fn test_get_relative_relative_unnormalized() {
        8005  +
            run_test_suite_v4("get-relative-relative-unnormalized");
        8006  +
        }
        8007  +
        8008  +
        #[test]
        8009  +
        fn test_get_relative_unnormalized() {
        8010  +
            run_test_suite_v4("get-relative-unnormalized");
        8011  +
        }
        8012  +
        8013  +
        #[test]
        8014  +
        fn test_get_slash_dot_slash_normalized() {
        8015  +
            run_test_suite_v4("get-slash-dot-slash-normalized");
        8016  +
        }
        8017  +
        8018  +
        #[test]
        8019  +
        fn test_get_slash_dot_slash_unnormalized() {
        8020  +
            run_test_suite_v4("get-slash-dot-slash-unnormalized");
        8021  +
        }
        8022  +
        8023  +
        #[test]
        8024  +
        fn test_get_slash_normalized() {
        8025  +
            run_test_suite_v4("get-slash-normalized");
        8026  +
        }
        8027  +
        8028  +
        #[test]
        8029  +
        fn test_get_slash_pointless_dot_normalized() {
        8030  +
            run_test_suite_v4("get-slash-pointless-dot-normalized");
        8031  +
        }
        8032  +
        8033  +
        #[test]
        8034  +
        fn test_get_slash_pointless_dot_unnormalized() {
        8035  +
            run_test_suite_v4("get-slash-pointless-dot-unnormalized");
        8036  +
        }
        8037  +
        8038  +
        #[test]
        8039  +
        fn test_get_slash_unnormalized() {
        8040  +
            run_test_suite_v4("get-slash-unnormalized");
        8041  +
        }
        8042  +
        8043  +
        #[test]
        8044  +
        fn test_get_slashes_normalized() {
        8045  +
            run_test_suite_v4("get-slashes-normalized");
        8046  +
        }
        8047  +
        8048  +
        #[test]
        8049  +
        fn test_get_slashes_unnormalized() {
        8050  +
            run_test_suite_v4("get-slashes-unnormalized");
        8051  +
        }
        8052  +
        8053  +
        #[test]
        8054  +
        #[ignore = "relies on single encode of path segments"]
        8055  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        8056  +
        // skipped until we add control over double_uri_encode in context.json
        8057  +
        fn test_get_space_normalized() {
        8058  +
            run_test_suite_v4("get-space-normalized");
        8059  +
        }
        8060  +
        8061  +
        #[test]
        8062  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        8063  +
        // the input request has unencoded space ' ' in the path which fails to parse
        8064  +
        fn test_get_space_unnormalized() {
        8065  +
            run_test_suite_v4("get-space-unnormalized");
        8066  +
        }
        8067  +
        8068  +
        #[test]
        8069  +
        fn test_get_unreserved() {
        8070  +
            run_test_suite_v4("get-unreserved");
        8071  +
        }
        8072  +
        8073  +
        #[test]
        8074  +
        #[ignore = "httparse fails on invalid uri character"]
        8075  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        8076  +
        fn test_get_utf8() {
        8077  +
            run_test_suite_v4("get-utf8");
        8078  +
        }
        8079  +
        8080  +
        #[test]
        8081  +
        fn test_get_vanilla() {
        8082  +
            run_test_suite_v4("get-vanilla");
        8083  +
        }
        8084  +
        8085  +
        #[test]
        8086  +
        fn test_get_vanilla_empty_query_key() {
        8087  +
            run_test_suite_v4("get-vanilla-empty-query-key");
        8088  +
        }
        8089  +
        8090  +
        #[test]
        8091  +
        fn test_get_vanilla_query() {
        8092  +
            run_test_suite_v4("get-vanilla-query");
        8093  +
        }
        8094  +
        8095  +
        #[test]
        8096  +
        fn test_get_vanilla_query_order_encoded() {
        8097  +
            run_test_suite_v4("get-vanilla-query-order-encoded");
        8098  +
        }
        8099  +
        8100  +
        #[test]
        8101  +
        fn test_get_vanilla_query_order_key_case() {
        8102  +
            run_test_suite_v4("get-vanilla-query-order-key-case");
        8103  +
        }
        8104  +
        8105  +
        #[test]
        8106  +
        fn test_get_vanilla_query_unreserved() {
        8107  +
            run_test_suite_v4("get-vanilla-query-unreserved");
        8108  +
        }
        8109  +
        8110  +
        #[test]
        8111  +
        #[ignore = "httparse fails on invalid uri character"]
        8112  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        8113  +
        fn test_get_vanilla_utf8_query() {
        8114  +
            run_test_suite_v4("get-vanilla-utf8-query");
        8115  +
        }
        8116  +
        8117  +
        #[test]
        8118  +
        fn test_get_vanilla_with_session_token() {
        8119  +
            run_test_suite_v4("get-vanilla-with-session-token");
        8120  +
        }
        8121  +
        8122  +
        #[test]
        8123  +
        fn test_post_header_key_case() {
        8124  +
            run_test_suite_v4("post-header-key-case");
        8125  +
        }
        8126  +
        8127  +
        #[test]
        8128  +
        fn test_post_header_key_sort() {
        8129  +
            run_test_suite_v4("post-header-key-sort");
        8130  +
        }
        8131  +
        8132  +
        #[test]
        8133  +
        fn test_post_header_value_case() {
        8134  +
            run_test_suite_v4("post-header-value-case");
        8135  +
        }
        8136  +
        8137  +
        #[test]
        8138  +
        fn test_post_sts_header_after() {
        8139  +
            run_test_suite_v4("post-sts-header-after");
        8140  +
        }
        8141  +
        8142  +
        #[test]
        8143  +
        fn test_post_sts_header_before() {
        8144  +
            run_test_suite_v4("post-sts-header-before");
        8145  +
        }
        8146  +
        8147  +
        #[test]
        8148  +
        fn test_post_vanilla() {
        8149  +
            run_test_suite_v4("post-vanilla");
        8150  +
        }
        8151  +
        8152  +
        #[test]
        8153  +
        fn test_post_vanilla_empty_query_value() {
        8154  +
            run_test_suite_v4("post-vanilla-empty-query-value");
        8155  +
        }
        8156  +
        8157  +
        #[test]
        8158  +
        fn test_post_vanilla_query() {
        8159  +
            run_test_suite_v4("post-vanilla-query");
        8160  +
        }
        8161  +
        8162  +
        #[test]
        8163  +
        fn test_post_x_www_form_urlencoded() {
        8164  +
            run_test_suite_v4("post-x-www-form-urlencoded");
        8165  +
        }
        8166  +
        8167  +
        #[test]
        8168  +
        fn test_post_x_www_form_urlencoded_parameters() {
        8169  +
            run_test_suite_v4("post-x-www-form-urlencoded-parameters");
        8170  +
        }
        8171  +
    }
 6143   8172   
}
 6144   8173   
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
 6145   8174   
index be6c496..86eec20 100644
 6146         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
        8175  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
 6147   8176   
@@ -1,242 +1,453 @@
 6148   8177   
/*
 6149   8178   
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 6150   8179   
 * SPDX-License-Identifier: Apache-2.0
 6151   8180   
 */
 6152   8181   
 6153   8182   
//! Functions shared between the tests of several modules.
 6154   8183   
 6155         -
use crate::http_request::{SignableBody, SignableRequest};
        8184  +
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
        8185  +
use crate::http_request::{
        8186  +
    PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
        8187  +
    SigningSettings,
        8188  +
};
        8189  +
use aws_credential_types::Credentials;
        8190  +
use aws_smithy_runtime_api::client::identity::Identity;
 6156   8191   
use http0::{Method, Uri};
        8192  +
use std::borrow::Cow;
 6157   8193   
use std::error::Error as StdError;
        8194  +
use std::time::{Duration, SystemTime};
        8195  +
use time::format_description::well_known::Rfc3339;
        8196  +
use time::OffsetDateTime;
        8197  +
        8198  +
/// Common test suite collection
        8199  +
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
        8200  +
enum Collection {
        8201  +
    V4,
        8202  +
    V4A,
        8203  +
}
 6158   8204   
 6159         -
pub(crate) mod v4 {
 6160         -
    use super::*;
        8205  +
/// A test from the common CRT test suite
        8206  +
#[derive(Debug, Clone)]
        8207  +
pub(crate) struct SigningSuiteTest {
        8208  +
    test_name: &'static str,
        8209  +
    collection: Collection,
        8210  +
}
 6161   8211   
 6162         -
    fn path(name: &str, ext: &str) -> String {
 6163         -
        format!("aws-sig-v4-test-suite/{}/{}.{}", name, name, ext)
        8212  +
impl SigningSuiteTest {
        8213  +
    /// Create a new test from the V4 test suite
        8214  +
    pub(crate) fn v4(test_name: &'static str) -> Self {
        8215  +
        Self {
        8216  +
            test_name,
        8217  +
            collection: Collection::V4,
 6164   8218   
        }
 6165         -
 6166         -
    pub(crate) fn test_canonical_request(name: &str) -> String {
 6167         -
        // Tests fail if there's a trailing newline in the file, and pre-commit requires trailing newlines
 6168         -
        read(&path(name, "creq")).trim().to_string()
 6169   8219   
    }
 6170   8220   
 6171         -
    pub(crate) fn test_sts(name: &str) -> String {
 6172         -
        read(&path(name, "sts"))
        8221  +
    /// Create a new test from the V4a test suite
        8222  +
    pub(crate) fn v4a(test_name: &'static str) -> Self {
        8223  +
        Self {
        8224  +
            test_name,
        8225  +
            collection: Collection::V4A,
 6173   8226   
        }
 6174         -
 6175         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 6176         -
        test_parsed_request(name, "req")
 6177   8227   
    }
 6178   8228   
 6179         -
    pub(crate) fn test_signed_request(name: &str) -> TestRequest {
 6180         -
        test_parsed_request(name, "sreq")
        8229  +
    /// Get the path to a file in this test suite directory
        8230  +
    fn path(&self, filename: &str) -> String {
        8231  +
        let dir = match self.collection {
        8232  +
            Collection::V4 => "v4",
        8233  +
            Collection::V4A => "v4a",
        8234  +
        };
        8235  +
        format!("aws-signing-test-suite/{dir}/{}/{filename}", self.test_name)
 6181   8236   
    }
 6182   8237   
 6183         -
    pub(crate) fn test_signed_request_query_params(name: &str) -> TestRequest {
 6184         -
        test_parsed_request(name, "qpsreq")
        8238  +
    /// Get the HTTP request for the test
        8239  +
    pub(crate) fn request(&self) -> TestRequest {
        8240  +
        test_parsed_request(&self.path("request.txt"))
 6185   8241   
    }
 6186   8242   
 6187         -
    fn test_parsed_request(name: &str, ext: &str) -> TestRequest {
 6188         -
        let path = path(name, ext);
 6189         -
        match parse_request(read(&path).as_bytes()) {
 6190         -
            Ok(parsed) => parsed,
 6191         -
            Err(err) => panic!("Failed to parse {}: {}", path, err),
        8243  +
    /// Get the signed HTTP request for the test
        8244  +
    pub(crate) fn signed_request(&self, signature_location: SignatureLocation) -> TestRequest {
        8245  +
        match signature_location {
        8246  +
            SignatureLocation::QueryParams => {
        8247  +
                test_parsed_request(&self.path("query-signed-request.txt"))
 6192   8248   
            }
        8249  +
            SignatureLocation::Headers => {
        8250  +
                test_parsed_request(&self.path("header-signed-request.txt"))
 6193   8251   
            }
 6194         -
 6195         -
    #[test]
 6196         -
    fn test_parse() {
 6197         -
        test_request("post-header-key-case");
 6198   8252   
        }
 6199         -
 6200         -
    #[test]
 6201         -
    fn test_read_query_params() {
 6202         -
        test_request("get-vanilla-query-order-key-case");
 6203   8253   
    }
 6204         -
}
 6205         -
 6206         -
#[cfg(feature = "sigv4a")]
 6207         -
pub(crate) mod v4a {
 6208         -
    use super::*;
 6209         -
    use crate::http_request::{
 6210         -
        PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
 6211         -
    };
 6212         -
    use aws_credential_types::Credentials;
 6213         -
    use aws_smithy_runtime_api::client::identity::Identity;
 6214         -
    use serde_derive::Deserialize;
 6215         -
    use std::time::{Duration, SystemTime};
 6216         -
    use time::format_description::well_known::Rfc3339;
 6217         -
    use time::OffsetDateTime;
 6218   8254   
 6219         -
    fn path(test_name: &str, definition_name: &str) -> String {
 6220         -
        format!("aws-sig-v4a-test-suite/{test_name}/{definition_name}.txt")
        8255  +
    /// Get the canonical request for the test
        8256  +
    pub(crate) fn canonical_request(&self, signature_location: SignatureLocation) -> String {
        8257  +
        match signature_location {
        8258  +
            SignatureLocation::QueryParams => read(&self.path("query-canonical-request.txt")),
        8259  +
            SignatureLocation::Headers => read(&self.path("header-canonical-request.txt")),
 6221   8260   
        }
 6222         -
 6223         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 6224         -
        test_parsed_request(&path(name, "request"))
 6225   8261   
    }
 6226   8262   
 6227         -
    pub(crate) fn test_canonical_request(
 6228         -
        name: &str,
 6229         -
        signature_location: SignatureLocation,
 6230         -
    ) -> String {
        8263  +
    /// Get the string to sign for the test
        8264  +
    pub(crate) fn string_to_sign(&self, signature_location: SignatureLocation) -> String {
 6231   8265   
        match signature_location {
 6232         -
            SignatureLocation::QueryParams => read(&path(name, "query-canonical-request")),
 6233         -
            SignatureLocation::Headers => read(&path(name, "header-canonical-request")),
        8266  +
            SignatureLocation::QueryParams => read(&self.path("query-string-to-sign.txt")),
        8267  +
            SignatureLocation::Headers => read(&self.path("header-string-to-sign.txt")),
 6234   8268   
        }
 6235   8269   
    }
 6236   8270   
 6237         -
    pub(crate) fn test_string_to_sign(name: &str, signature_location: SignatureLocation) -> String {
        8271  +
    /// Get the signature for the test
        8272  +
    pub(crate) fn signature(&self, signature_location: SignatureLocation) -> String {
 6238   8273   
        match signature_location {
 6239         -
            SignatureLocation::QueryParams => read(&path(name, "query-string-to-sign")),
 6240         -
            SignatureLocation::Headers => read(&path(name, "header-string-to-sign")),
        8274  +
            SignatureLocation::QueryParams => read(&self.path("query-signature.txt")),
        8275  +
            SignatureLocation::Headers => read(&self.path("header-signature.txt")),
        8276  +
        }
 6241   8277   
    }
        8278  +
        8279  +
    /// Get the test context for the test
        8280  +
    pub(crate) fn context(&self) -> TestContext {
        8281  +
        let context = read(&self.path("context.json"));
        8282  +
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
        8283  +
        tc_builder.build()
 6242   8284   
    }
        8285  +
}
 6243   8286   
 6244         -
    fn test_parsed_request(path: &str) -> TestRequest {
        8287  +
fn test_parsed_request(path: &str) -> TestRequest {
 6245   8288   
    match parse_request(read(path).as_bytes()) {
 6246   8289   
        Ok(parsed) => parsed,
 6247   8290   
        Err(err) => panic!("Failed to parse {}: {}", path, err),
 6248   8291   
    }
 6249         -
    }
        8292  +
}
 6250   8293   
 6251         -
    pub(crate) fn test_context(test_name: &str) -> TestContext {
 6252         -
        let path = format!("aws-sig-v4a-test-suite/{test_name}/context.json");
 6253         -
        let context = read(&path);
 6254         -
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
 6255         -
        tc_builder.build()
 6256         -
    }
        8294  +
fn new_v4_signing_params_from_context(
        8295  +
    test_context: &'_ TestContext,
        8296  +
    signature_location: SignatureLocation,
        8297  +
) -> crate::http_request::SigningParams<'_> {
        8298  +
    let mut params = crate::sign::v4::SigningParams::from(test_context);
        8299  +
    params.settings.signature_location = signature_location;
        8300  +
    params.into()
        8301  +
}
        8302  +
        8303  +
/// Run the given test from the v4 suite for both header and query
        8304  +
/// signature locations
        8305  +
pub(crate) fn run_test_suite_v4(test_name: &'static str) {
        8306  +
    run_v4_test(test_name, SignatureLocation::Headers);
        8307  +
    run_v4_test(test_name, SignatureLocation::QueryParams);
        8308  +
}
        8309  +
        8310  +
fn assert_uri_eq(expected: &Uri, actual: &Uri) {
        8311  +
    assert_eq!(expected.scheme(), actual.scheme());
        8312  +
    assert_eq!(expected.authority(), actual.authority());
        8313  +
    assert_eq!(expected.path(), actual.path());
        8314  +
        8315  +
    // query params may be out of order
        8316  +
    let mut expected_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8317  +
        form_urlencoded::parse(expected.query().unwrap_or_default().as_bytes()).collect();
        8318  +
    expected_params.sort();
        8319  +
        8320  +
    let mut actual_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8321  +
        form_urlencoded::parse(actual.query().unwrap_or_default().as_bytes()).collect();
        8322  +
    actual_params.sort();
        8323  +
        8324  +
    assert_eq!(expected_params, actual_params);
        8325  +
}
 6257   8326   
 6258         -
    pub(crate) struct TestContext {
        8327  +
fn assert_requests_eq(expected: TestRequest, actual: http0::Request<&str>) {
        8328  +
    let expected = expected.as_http_request();
        8329  +
    let actual = actual;
        8330  +
    assert_eq!(expected.method(), actual.method());
        8331  +
    assert_eq!(
        8332  +
        expected.headers().len(),
        8333  +
        actual.headers().len(),
        8334  +
        "extra or missing headers"
        8335  +
    );
        8336  +
    assert_eq!(expected.headers(), actual.headers(), "headers mismatch");
        8337  +
    assert_uri_eq(expected.uri(), actual.uri());
        8338  +
    assert_eq!(*expected.body(), *actual.body(), "body mismatch");
        8339  +
}
        8340  +
        8341  +
/// Run the given test from the v4 suite for the given signature location
        8342  +
pub(crate) fn run_v4_test(test_name: &'static str, signature_location: SignatureLocation) {
        8343  +
    let test = SigningSuiteTest::v4(test_name);
        8344  +
    let tc = test.context();
        8345  +
    let params = new_v4_signing_params_from_context(&tc, signature_location);
        8346  +
        8347  +
    let req = test.request();
        8348  +
    let expected_creq = test.canonical_request(signature_location);
        8349  +
    let signable_req = SignableRequest::from(&req);
        8350  +
    let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8351  +
        8352  +
    // check canonical request
        8353  +
    assert_eq!(
        8354  +
        expected_creq,
        8355  +
        actual_creq.to_string(),
        8356  +
        "canonical request didn't match (signature location: {signature_location:?})"
        8357  +
    );
        8358  +
        8359  +
    let expected_string_to_sign = test.string_to_sign(signature_location);
        8360  +
    let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8361  +
    let actual_string_to_sign = StringToSign::new_v4(
        8362  +
        *params.time(),
        8363  +
        params.region().unwrap(),
        8364  +
        params.name(),
        8365  +
        hashed_creq,
        8366  +
    )
        8367  +
    .to_string();
        8368  +
        8369  +
    // check string to sign
        8370  +
    assert_eq!(
        8371  +
        expected_string_to_sign, actual_string_to_sign,
        8372  +
        "'string to sign' didn't match (signature location: {signature_location:?})"
        8373  +
    );
        8374  +
        8375  +
    let out = crate::http_request::sign(signable_req, &params).unwrap();
        8376  +
    let mut signed = req.as_http_request();
        8377  +
    out.output.apply_to_request_http0x(&mut signed);
        8378  +
        8379  +
    // check signature
        8380  +
    assert_eq!(
        8381  +
        test.signature(signature_location),
        8382  +
        out.signature,
        8383  +
        "signature didn't match (signature location: {signature_location:?})"
        8384  +
    );
        8385  +
        8386  +
    let expected = test.signed_request(signature_location);
        8387  +
    assert_requests_eq(expected, signed);
        8388  +
}
        8389  +
        8390  +
/// Test suite context.json
        8391  +
pub(crate) struct TestContext {
 6259   8392   
    pub(crate) identity: Identity,
 6260   8393   
    pub(crate) expiration_in_seconds: u64,
 6261   8394   
    pub(crate) normalize: bool,
 6262   8395   
    pub(crate) region: String,
 6263   8396   
    pub(crate) service: String,
 6264   8397   
    pub(crate) timestamp: String,
 6265   8398   
    pub(crate) omit_session_token: bool,
 6266   8399   
    pub(crate) sign_body: bool,
 6267         -
    }
 6268         -
 6269         -
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
 6270         -
        fn from(tc: &'a TestContext) -> Self {
 6271         -
            crate::sign::v4a::SigningParams {
 6272         -
                identity: &tc.identity,
 6273         -
                region_set: &tc.region,
 6274         -
                name: &tc.service,
 6275         -
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
 6276         -
                    .unwrap()
 6277         -
                    .into(),
 6278         -
                settings: SigningSettings {
 6279         -
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6280         -
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
 6281         -
                    uri_path_normalization_mode: tc.normalize.into(),
 6282         -
                    session_token_mode: if tc.omit_session_token {
 6283         -
                        SessionTokenMode::Exclude
 6284         -
                    } else {
 6285         -
                        SessionTokenMode::Include
 6286         -
                    },
 6287         -
                    payload_checksum_kind: if tc.sign_body {
 6288         -
                        PayloadChecksumKind::XAmzSha256
 6289         -
                    } else {
 6290         -
                        PayloadChecksumKind::NoHeader
 6291         -
                    },
 6292         -
                    ..Default::default()
 6293         -
                },
 6294         -
            }
 6295         -
        }
 6296         -
    }
        8400  +
}
 6297   8401   
 6298         -
    // Serde has limitations requiring this odd workaround.
 6299         -
    // See https://github.com/serde-rs/serde/issues/368 for more info.
 6300         -
    fn return_true() -> bool {
        8402  +
// Serde has limitations requiring this odd workaround.
        8403  +
// See https://github.com/serde-rs/serde/issues/368 for more info.
        8404  +
fn return_true() -> bool {
 6301   8405   
    true
 6302         -
    }
        8406  +
}
 6303   8407   
 6304         -
    #[derive(Deserialize)]
 6305         -
    pub(crate) struct TestContextBuilder {
        8408  +
#[derive(serde_derive::Deserialize)]
        8409  +
pub(crate) struct TestContextBuilder {
 6306   8410   
    credentials: TestContextCreds,
 6307   8411   
    expiration_in_seconds: u64,
 6308   8412   
    normalize: bool,
 6309   8413   
    region: String,
 6310   8414   
    service: String,
 6311   8415   
    timestamp: String,
 6312   8416   
    #[serde(default)]
 6313   8417   
    omit_session_token: bool,
 6314   8418   
    #[serde(default = "return_true")]
 6315   8419   
    sign_body: bool,
 6316         -
    }
        8420  +
}
 6317   8421   
 6318         -
    impl TestContextBuilder {
        8422  +
impl TestContextBuilder {
 6319   8423   
    pub(crate) fn build(self) -> TestContext {
 6320   8424   
        let identity = Identity::new(
 6321   8425   
            Credentials::from_keys(
 6322   8426   
                &self.credentials.access_key_id,
 6323   8427   
                &self.credentials.secret_access_key,
 6324   8428   
                self.credentials.token.clone(),
 6325   8429   
            ),
 6326   8430   
            Some(SystemTime::UNIX_EPOCH + Duration::from_secs(self.expiration_in_seconds)),
 6327   8431   
        );
 6328   8432   
 6329   8433   
        TestContext {
 6330   8434   
            identity,
 6331   8435   
            expiration_in_seconds: self.expiration_in_seconds,
 6332   8436   
            normalize: self.normalize,
 6333   8437   
            region: self.region,
 6334   8438   
            service: self.service,
 6335   8439   
            timestamp: self.timestamp,
 6336   8440   
            omit_session_token: self.omit_session_token,
 6337   8441   
            sign_body: self.sign_body,
 6338   8442   
        }
 6339   8443   
    }
 6340         -
    }
        8444  +
}
 6341   8445   
 6342         -
    #[derive(Deserialize)]
 6343         -
    pub(crate) struct TestContextCreds {
        8446  +
#[derive(serde_derive::Deserialize)]
        8447  +
pub(crate) struct TestContextCreds {
 6344   8448   
    access_key_id: String,
 6345   8449   
    secret_access_key: String,
 6346   8450   
    token: Option<String>,
        8451  +
}
        8452  +
        8453  +
impl<'a> From<&'a TestContext> for crate::sign::v4::SigningParams<'a, SigningSettings> {
        8454  +
    fn from(tc: &'a TestContext) -> Self {
        8455  +
        crate::sign::v4::SigningParams {
        8456  +
            identity: &tc.identity,
        8457  +
            region: &tc.region,
        8458  +
            name: &tc.service,
        8459  +
            time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8460  +
                .unwrap()
        8461  +
                .into(),
        8462  +
            settings: SigningSettings {
        8463  +
                // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8464  +
                expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8465  +
                uri_path_normalization_mode: tc.normalize.into(),
        8466  +
                session_token_mode: if tc.omit_session_token {
        8467  +
                    SessionTokenMode::Exclude
        8468  +
                } else {
        8469  +
                    SessionTokenMode::Include
        8470  +
                },
        8471  +
                payload_checksum_kind: if tc.sign_body {
        8472  +
                    PayloadChecksumKind::XAmzSha256
        8473  +
                } else {
        8474  +
                    PayloadChecksumKind::NoHeader
        8475  +
                },
        8476  +
                ..Default::default()
        8477  +
            },
        8478  +
        }
        8479  +
    }
        8480  +
}
        8481  +
        8482  +
#[cfg(feature = "sigv4a")]
        8483  +
pub(crate) mod v4a {
        8484  +
    use super::*;
        8485  +
    use crate::http_request::{
        8486  +
        sign, PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
        8487  +
    };
        8488  +
    use crate::sign::v4a;
        8489  +
    use p256::ecdsa::signature::{Signature, Verifier};
        8490  +
    use p256::ecdsa::{DerSignature, SigningKey};
        8491  +
    use std::time::Duration;
        8492  +
    use time::format_description::well_known::Rfc3339;
        8493  +
    use time::OffsetDateTime;
        8494  +
        8495  +
    fn new_v4a_signing_params_from_context(
        8496  +
        test_context: &'_ TestContext,
        8497  +
        signature_location: SignatureLocation,
        8498  +
    ) -> crate::http_request::SigningParams<'_> {
        8499  +
        let mut params = crate::sign::v4a::SigningParams::from(test_context);
        8500  +
        params.settings.signature_location = signature_location;
        8501  +
        params.into()
        8502  +
    }
        8503  +
        8504  +
    pub(crate) fn run_test_suite_v4a(test_name: &'static str) {
        8505  +
        run_v4a_test(test_name, SignatureLocation::Headers);
        8506  +
        run_v4a_test(test_name, SignatureLocation::QueryParams);
        8507  +
    }
        8508  +
        8509  +
    pub(crate) fn run_v4a_test(test_name: &'static str, signature_location: SignatureLocation) {
        8510  +
        let test = SigningSuiteTest::v4a(test_name);
        8511  +
        let tc = test.context();
        8512  +
        let params = new_v4a_signing_params_from_context(&tc, signature_location);
        8513  +
        8514  +
        let req = test.request();
        8515  +
        let expected_creq = test.canonical_request(signature_location);
        8516  +
        let signable_req = SignableRequest::from(&req);
        8517  +
        let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8518  +
        8519  +
        assert_eq!(
        8520  +
            expected_creq,
        8521  +
            actual_creq.to_string(),
        8522  +
            "canonical request didn't match (signature location: {signature_location:?})"
        8523  +
        );
        8524  +
        8525  +
        let expected_string_to_sign = test.string_to_sign(signature_location);
        8526  +
        let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8527  +
        let actual_string_to_sign = StringToSign::new_v4a(
        8528  +
            *params.time(),
        8529  +
            params.region_set().unwrap(),
        8530  +
            params.name(),
        8531  +
            hashed_creq,
        8532  +
        )
        8533  +
        .to_string();
        8534  +
        8535  +
        assert_eq!(
        8536  +
            expected_string_to_sign, actual_string_to_sign,
        8537  +
            "'string to sign' didn't match (signature location: {signature_location:?})"
        8538  +
        );
        8539  +
        8540  +
        let out = sign(signable_req, &params).unwrap();
        8541  +
        // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
        8542  +
        out.output
        8543  +
            .apply_to_request_http0x(&mut req.as_http_request());
        8544  +
        8545  +
        let creds = params.credentials().unwrap();
        8546  +
        let signing_key =
        8547  +
            v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
        8548  +
        let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
        8549  +
        let sig = sig
        8550  +
            .try_into()
        8551  +
            .expect("DER-style signatures are always convertible into fixed-size signatures");
        8552  +
        8553  +
        let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
        8554  +
        let peer_public_key = signing_key.verifying_key();
        8555  +
        let sts = actual_string_to_sign.as_bytes();
        8556  +
        peer_public_key.verify(sts, &sig).unwrap();
        8557  +
        // TODO(sigv4a) - use public.key.json as verifying key?
        8558  +
    }
        8559  +
        8560  +
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
        8561  +
        fn from(tc: &'a TestContext) -> Self {
        8562  +
            crate::sign::v4a::SigningParams {
        8563  +
                identity: &tc.identity,
        8564  +
                region_set: &tc.region,
        8565  +
                name: &tc.service,
        8566  +
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8567  +
                    .unwrap()
        8568  +
                    .into(),
        8569  +
                settings: SigningSettings {
        8570  +
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8571  +
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8572  +
                    uri_path_normalization_mode: tc.normalize.into(),
        8573  +
                    session_token_mode: if tc.omit_session_token {
        8574  +
                        SessionTokenMode::Exclude
        8575  +
                    } else {
        8576  +
                        SessionTokenMode::Include
        8577  +
                    },
        8578  +
                    payload_checksum_kind: if tc.sign_body {
        8579  +
                        PayloadChecksumKind::XAmzSha256
        8580  +
                    } else {
        8581  +
                        PayloadChecksumKind::NoHeader
        8582  +
                    },
        8583  +
                    ..Default::default()
        8584  +
                },
        8585  +
            }
        8586  +
        }
 6347   8587   
    }
 6348   8588   
 6349   8589   
    #[test]
 6350   8590   
    fn test_parse() {
 6351         -
        let req = test_request("post-header-key-case");
        8591  +
        let req = SigningSuiteTest::v4a("post-header-key-case").request();
 6352   8592   
        assert_eq!(req.method, "POST");
 6353   8593   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6354   8594   
        assert!(req.headers.is_empty());
 6355   8595   
    }
 6356   8596   
 6357   8597   
    #[test]
 6358   8598   
    fn test_read_query_params() {
 6359         -
        let req = test_request("get-header-value-trim");
        8599  +
        let req = SigningSuiteTest::v4a("get-header-value-trim").request();
 6360   8600   
        assert_eq!(req.method, "GET");
 6361   8601   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6362   8602   
        assert!(!req.headers.is_empty());
 6363   8603   
    }
 6364   8604   
}
 6365   8605   
 6366   8606   
fn read(path: &str) -> String {
 6367   8607   
    println!("Loading `{}` for test case...", path);
 6368   8608   
    let v = {
 6369   8609   
        match std::fs::read_to_string(path) {
 6370   8610   
            // This replacement is necessary for tests to pass on Windows, as reading the
 6371   8611   
            // test snapshots from the file system results in CRLF line endings being inserted.
 6372   8612   
            Ok(value) => value.replace("\r\n", "\n"),
 6373   8613   
            Err(err) => {
 6374   8614   
                panic!("failed to load test case `{}`: {}", path, err);
 6375   8615   
            }
 6376   8616   
        }
 6377   8617   
    };
 6378   8618   
 6379   8619   
    v.trim().to_string()
 6380   8620   
}
 6381   8621   
 6382   8622   
pub(crate) struct TestRequest {
 6383   8623   
    pub(crate) uri: String,
 6384   8624   
    pub(crate) method: String,
 6385   8625   
    pub(crate) headers: Vec<(String, String)>,
 6386   8626   
    pub(crate) body: TestSignedBody,
 6387   8627   
}
 6388   8628   
 6389   8629   
pub(crate) enum TestSignedBody {
 6390   8630   
@@ -290,79 +501,87 @@ impl<B: AsRef<[u8]>> From<http0::Request<B>> for TestRequest {
 6391   8631   
                        String::from_utf8(v.as_bytes().to_vec()).unwrap(),
 6392   8632   
                    )
 6393   8633   
                })
 6394   8634   
                .collect::<Vec<_>>(),
 6395   8635   
            body: TestSignedBody::Bytes(value.body().as_ref().to_vec()),
 6396   8636   
        }
 6397   8637   
    }
 6398   8638   
}
 6399   8639   
 6400   8640   
impl<'a> From<&'a TestRequest> for SignableRequest<'a> {
 6401   8641   
    fn from(request: &'a TestRequest) -> SignableRequest<'a> {
 6402   8642   
        SignableRequest::new(
 6403   8643   
            &request.method,
 6404   8644   
            &request.uri,
 6405   8645   
            request
 6406   8646   
                .headers
 6407   8647   
                .iter()
 6408   8648   
                .map(|(k, v)| (k.as_str(), v.as_str())),
 6409   8649   
            request.body.as_signable_body(),
 6410   8650   
        )
 6411   8651   
        .expect("URI MUST be valid")
 6412   8652   
    }
 6413   8653   
}
 6414   8654   
 6415   8655   
fn parse_request(s: &[u8]) -> Result<TestRequest, Box<dyn StdError + Send + Sync + 'static>> {
 6416   8656   
    let mut headers = [httparse::EMPTY_HEADER; 64];
 6417   8657   
    // httparse 1.5 requires two trailing newlines to head the header section.
 6418   8658   
    let mut with_newline = Vec::from(s);
 6419   8659   
    with_newline.push(b'\n');
 6420   8660   
    let mut req = httparse::Request::new(&mut headers);
 6421         -
    let _ = req.parse(&with_newline).unwrap();
        8661  +
    let status = req.parse(&with_newline).unwrap();
        8662  +
        8663  +
    let body = if status.is_complete() {
        8664  +
        let body_offset = status.unwrap();
        8665  +
        // ignore the newline we added, take from original
        8666  +
        &s[body_offset..]
        8667  +
    } else {
        8668  +
        &[]
        8669  +
    };
 6422   8670   
 6423   8671   
    let mut uri_builder = Uri::builder().scheme("https");
 6424   8672   
    if let Some(path) = req.path {
 6425   8673   
        uri_builder = uri_builder.path_and_query(path);
 6426   8674   
    }
 6427   8675   
 6428   8676   
    let mut headers = vec![];
 6429   8677   
    for header in req.headers {
 6430   8678   
        let name = header.name.to_lowercase();
 6431   8679   
        if name == "host" {
 6432   8680   
            uri_builder = uri_builder.authority(header.value);
 6433   8681   
        } else if !name.is_empty() {
 6434   8682   
            headers.push((
 6435   8683   
                header.name.to_string(),
 6436   8684   
                std::str::from_utf8(header.value)?.to_string(),
 6437   8685   
            ));
 6438   8686   
        }
 6439   8687   
    }
 6440   8688   
 6441   8689   
    Ok(TestRequest {
 6442   8690   
        uri: uri_builder.build()?.to_string(),
 6443   8691   
        method: req.method.unwrap().to_string(),
 6444   8692   
        headers,
 6445         -
        body: TestSignedBody::Bytes(vec![]),
        8693  +
        body: TestSignedBody::Bytes(Vec::from(body)),
 6446   8694   
    })
 6447   8695   
}
 6448   8696   
 6449   8697   
#[test]
 6450   8698   
fn test_parse_headers() {
 6451   8699   
    let buf = b"Host:example.amazonaws.com\nX-Amz-Date:20150830T123600Z\n\nblah blah";
 6452   8700   
    let mut headers = [httparse::EMPTY_HEADER; 4];
 6453   8701   
    assert_eq!(
 6454   8702   
        httparse::parse_headers(buf, &mut headers),
 6455   8703   
        Ok(httparse::Status::Complete((
 6456   8704   
            56,
 6457   8705   
            &[
 6458   8706   
                httparse::Header {
 6459   8707   
                    name: "Host",
 6460   8708   
                    value: b"example.amazonaws.com",
 6461   8709   
                },
 6462   8710   
                httparse::Header {
 6463   8711   
                    name: "X-Amz-Date",
 6464   8712   
                    value: b"20150830T123600Z",
 6465   8713   
                }
 6466   8714   
            ][..]
 6467   8715   
        )))
 6468   8716   
    );
 6469   8717   
}
 6470   8718   
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
 6471   8719   
index a208453..fc00249 100644
 6472         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
        8720  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
 6473   8721   
@@ -168,52 +168,54 @@ pub mod signing_params {
 6474   8722   
        );
 6475   8723   
 6476   8724   
        /// Builds an instance of [`SigningParams`]. Will yield a [`BuildError`] if
 6477   8725   
        /// a required argument was not given.
 6478   8726   
        pub fn build(self) -> Result<SigningParams<'a, S>, BuildError> {
 6479   8727   
            Ok(SigningParams {
 6480   8728   
                identity: self
 6481   8729   
                    .identity
 6482   8730   
                    .ok_or_else(|| BuildError::new("identity is required"))?,
 6483   8731   
                region: self
 6484   8732   
                    .region
 6485   8733   
                    .ok_or_else(|| BuildError::new("region is required"))?,
 6486   8734   
                name: self
 6487   8735   
                    .name
 6488   8736   
                    .ok_or_else(|| BuildError::new("name is required"))?,
 6489   8737   
                time: self
 6490   8738   
                    .time
 6491   8739   
                    .ok_or_else(|| BuildError::new("time is required"))?,
 6492   8740   
                settings: self
 6493   8741   
                    .settings
 6494   8742   
                    .ok_or_else(|| BuildError::new("settings are required"))?,
 6495   8743   
            })
 6496   8744   
        }
 6497   8745   
    }
 6498   8746   
}
 6499   8747   
 6500   8748   
#[cfg(test)]
 6501   8749   
mod tests {
 6502   8750   
    use super::{calculate_signature, generate_signing_key, sha256_hex_string};
 6503   8751   
    use crate::date_time::test_parsers::parse_date_time;
 6504         -
    use crate::http_request::test;
 6505   8752   
 6506   8753   
    #[test]
 6507   8754   
    fn test_signature_calculation() {
 6508   8755   
        let secret = "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY";
 6509         -
        let creq = test::v4::test_canonical_request("iam");
        8756  +
        let creq = r#"AWS4-HMAC-SHA256
        8757  +
20150830T123600Z
        8758  +
20150830/us-east-1/iam/aws4_request
        8759  +
f536975d06c0309214f805bb90ccff089219ecd68b2577efef23edd43b7e1a59"#;
 6510   8760   
        let time = parse_date_time("20150830T123600Z").unwrap();
 6511   8761   
 6512   8762   
        let derived_key = generate_signing_key(secret, time, "us-east-1", "iam");
 6513   8763   
        let signature = calculate_signature(derived_key, creq.as_bytes());
 6514   8764   
 6515   8765   
        let expected = "5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7";
 6516   8766   
        assert_eq!(expected, &signature);
 6517   8767   
    }
 6518   8768   
 6519   8769   
    #[test]
 6520   8770   
    fn sign_payload_empty_string() {
 6521   8771   
        let expected = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
 6522   8772   
        let actual = sha256_hex_string([]);
 6523   8773   
        assert_eq!(expected, actual);
 6524   8774   
    }
 6525   8775   
}
 6526   8776   
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
 6527   8777   
index ce78c38..8c2f591 100644
 6528         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
        8778  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
 6529   8779   
@@ -1,43 +1,43 @@
 6530   8780   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6531   8781   
[package]
 6532   8782   
name = "aws-smithy-checksums"
 6533   8783   
version = "0.63.5"
 6534   8784   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Zelda Hessler <zhessler@amazon.com>"]
 6535   8785   
description = "Checksum calculation and verification callbacks"
 6536   8786   
edition = "2021"
 6537   8787   
license = "Apache-2.0"
 6538   8788   
repository = "https://github.com/smithy-lang/smithy-rs"
 6539   8789   
[package.metadata.docs.rs]
 6540   8790   
all-features = true
 6541   8791   
targets = ["x86_64-unknown-linux-gnu"]
 6542   8792   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6543   8793   
rustdoc-args = ["--cfg", "docsrs"]
 6544   8794   
 6545   8795   
[dependencies]
 6546   8796   
bytes = "1.10.0"
 6547   8797   
crc-fast = "1.3.0"
 6548   8798   
hex = "0.4.3"
 6549   8799   
http = "0.2.9"
 6550   8800   
http-body = "0.4.5"
 6551   8801   
md-5 = "0.10"
 6552   8802   
pin-project-lite = "0.2.14"
 6553   8803   
sha1 = "0.10"
 6554   8804   
sha2 = "0.10"
 6555   8805   
tracing = "0.1.40"
 6556   8806   
 6557   8807   
[dependencies.aws-smithy-http]
 6558   8808   
path = "../aws-smithy-http"
 6559         -
version = "0.62.2"
        8809  +
version = "0.62.3"
 6560   8810   
 6561   8811   
[dependencies.aws-smithy-types]
 6562   8812   
path = "../aws-smithy-types"
 6563   8813   
version = "1.3.2"
 6564   8814   
 6565   8815   
[dev-dependencies]
 6566   8816   
bytes-utils = "0.1.2"
 6567   8817   
pretty_assertions = "1.3"
 6568   8818   
tracing-test = "0.2.1"
 6569   8819   
 6570   8820   
[dev-dependencies.tokio]
 6571   8821   
version = "1.23.1"
 6572   8822   
features = ["macros", "rt"]
 6573   8823   
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
 6574   8824   
index 970c99e..d3c7a49 100644
 6575         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
        8825  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
 6576   8826   
@@ -1,34 +1,34 @@
 6577   8827   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6578   8828   
[package]
 6579   8829   
name = "aws-smithy-http"
 6580         -
version = "0.62.2"
        8830  +
version = "0.62.3"
 6581   8831   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6582   8832   
description = "Smithy HTTP logic for smithy-rs."
 6583   8833   
edition = "2021"
 6584   8834   
license = "Apache-2.0"
 6585   8835   
repository = "https://github.com/smithy-lang/smithy-rs"
 6586   8836   
[package.metadata.docs.rs]
 6587   8837   
all-features = true
 6588   8838   
targets = ["x86_64-unknown-linux-gnu"]
 6589   8839   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6590   8840   
rustdoc-args = ["--cfg", "docsrs"]
 6591   8841   
 6592   8842   
[features]
 6593   8843   
event-stream = ["aws-smithy-eventstream"]
 6594   8844   
rt-tokio = ["aws-smithy-types/rt-tokio"]
 6595   8845   
 6596   8846   
[dependencies]
 6597   8847   
bytes = "1.10.0"
 6598   8848   
bytes-utils = "0.1"
 6599   8849   
percent-encoding = "2.3.1"
 6600   8850   
pin-project-lite = "0.2.14"
 6601   8851   
pin-utils = "0.1.0"
 6602   8852   
tracing = "0.1.40"
 6603   8853   
futures-core = "0.3.31"
 6604   8854   
 6605   8855   
[dependencies.aws-smithy-eventstream]
 6606   8856   
path = "../aws-smithy-eventstream"
 6607   8857   
optional = true
 6608   8858   
version = "0.60.10"
 6609   8859   
 6610   8860   
[dependencies.aws-smithy-runtime-api]
 6611   8861   
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
 6612   8862   
index 508f7a2..361545e 100644
 6613         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
        8863  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
 6614   8864   
@@ -1,27 +1,27 @@
 6615   8865   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6616   8866   
[[bin]]
 6617   8867   
name = "read_many_from_str"
 6618   8868   
path = "fuzz_targets/read_many_from_str.rs"
 6619   8869   
test = false
 6620   8870   
doc = false
 6621   8871   
 6622   8872   
[package]
 6623   8873   
name = "aws-smithy-http-fuzz"
 6624   8874   
version = "0.0.0"
 6625   8875   
authors = ["Automatically generated"]
 6626   8876   
publish = false
 6627   8877   
edition = "2021"
 6628   8878   
 6629   8879   
[package.metadata]
 6630   8880   
cargo-fuzz = true
 6631   8881   
 6632   8882   
[dependencies]
 6633   8883   
libfuzzer-sys = "=0.4.7"
 6634   8884   
http = "0.2.3"
 6635   8885   
 6636   8886   
[dependencies.aws-smithy-http]
 6637   8887   
path = ".."
 6638         -
version = "0.62.2"
        8888  +
version = "0.62.3"
 6639   8889   
 6640   8890   
[workspace]
 6641   8891   
members = ["."]
 6642   8892   
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
 6643   8893   
index fef41d0..7694da6 100644
 6644         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
        8894  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
 6645   8895   
@@ -25,68 +25,73 @@ impl QueryWriter {
 6646   8896   
    pub fn new(uri: &Uri) -> Self {
 6647   8897   
        let new_path_and_query = uri
 6648   8898   
            .path_and_query()
 6649   8899   
            .map(|pq| pq.to_string())
 6650   8900   
            .unwrap_or_default();
 6651   8901   
        let prefix = if uri.query().is_none() {
 6652   8902   
            Some('?')
 6653   8903   
        } else if !uri.query().unwrap_or_default().is_empty() {
 6654   8904   
            Some('&')
 6655   8905   
        } else {
 6656   8906   
            None
 6657   8907   
        };
 6658   8908   
        QueryWriter {
 6659   8909   
            base_uri: uri.clone(),
 6660   8910   
            new_path_and_query,
 6661   8911   
            prefix,
 6662   8912   
        }
 6663   8913   
    }
 6664   8914   
 6665   8915   
    /// Clears all query parameters.
 6666   8916   
    pub fn clear_params(&mut self) {
 6667   8917   
        if let Some(index) = self.new_path_and_query.find('?') {
 6668   8918   
            self.new_path_and_query.truncate(index);
 6669   8919   
            self.prefix = Some('?');
 6670   8920   
        }
 6671   8921   
    }
 6672   8922   
 6673   8923   
    /// Inserts a new query parameter. The key and value are percent encoded
 6674   8924   
    /// by `QueryWriter`. Passing in percent encoded values will result in double encoding.
 6675   8925   
    pub fn insert(&mut self, k: &str, v: &str) {
        8926  +
        self.insert_encoded(&percent_encode_query(k), &percent_encode_query(v));
        8927  +
    }
        8928  +
        8929  +
    /// Inserts a new already encoded query parameter. The key and value will be inserted
        8930  +
    /// as is.
        8931  +
    pub fn insert_encoded(&mut self, encoded_k: &str, encoded_v: &str) {
 6676   8932   
        if let Some(prefix) = self.prefix {
 6677   8933   
            self.new_path_and_query.push(prefix);
 6678   8934   
        }
 6679   8935   
        self.prefix = Some('&');
 6680         -
        self.new_path_and_query.push_str(&percent_encode_query(k));
        8936  +
        self.new_path_and_query.push_str(encoded_k);
 6681   8937   
        self.new_path_and_query.push('=');
 6682         -
 6683         -
        self.new_path_and_query.push_str(&percent_encode_query(v));
        8938  +
        self.new_path_and_query.push_str(encoded_v)
 6684   8939   
    }
 6685   8940   
 6686   8941   
    /// Returns just the built query string.
 6687   8942   
    pub fn build_query(self) -> String {
 6688   8943   
        self.build_uri().query().unwrap_or_default().to_string()
 6689   8944   
    }
 6690   8945   
 6691   8946   
    /// Returns a full [`Uri`] with the query string updated.
 6692   8947   
    pub fn build_uri(self) -> Uri {
 6693   8948   
        let mut parts = self.base_uri.into_parts();
 6694   8949   
        parts.path_and_query = Some(
 6695   8950   
            self.new_path_and_query
 6696   8951   
                .parse()
 6697   8952   
                .expect("adding query should not invalidate URI"),
 6698   8953   
        );
 6699   8954   
        Uri::from_parts(parts).expect("a valid URL in should always produce a valid URL out")
 6700   8955   
    }
 6701   8956   
}
 6702   8957   
 6703   8958   
#[cfg(test)]
 6704   8959   
mod test {
 6705   8960   
    use super::QueryWriter;
 6706   8961   
    use http_02x::Uri;
 6707   8962   
 6708   8963   
    #[test]
 6709   8964   
    fn empty_uri() {
 6710   8965   
        let uri = Uri::from_static("http://www.example.com");
 6711   8966   
        let mut query_writer = QueryWriter::new(&uri);
 6712   8967   
        query_writer.insert("key", "val%ue");
 6713   8968   
        query_writer.insert("another", "value");
 6714   8969   
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
 6715   8970   
index f108978..df7a9fe 100644
 6716         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
        8971  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
 6717   8972   
@@ -15,61 +15,61 @@ rustdoc-args = ["--cfg", "docsrs"]
 6718   8973   
 6719   8974   
[package.metadata.smithy-rs-release-tooling]
 6720   8975   
stable = true
 6721   8976   
[package.metadata.cargo-udeps.ignore]
 6722   8977   
normal = ["aws-smithy-http"]
 6723   8978   
 6724   8979   
[features]
 6725   8980   
client = ["aws-smithy-runtime-api/client", "aws-smithy-types/http-body-1-x"]
 6726   8981   
http-auth = ["aws-smithy-runtime-api/http-auth"]
 6727   8982   
connector-hyper-0-14-x = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/hyper-014"]
 6728   8983   
tls-rustls = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/legacy-rustls-ring", "connector-hyper-0-14-x"]
 6729   8984   
default-https-client = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/rustls-aws-lc"]
 6730   8985   
rt-tokio = ["tokio/rt"]
 6731   8986   
test-util = ["aws-smithy-runtime-api/test-util", "dep:tracing-subscriber", "aws-smithy-http-client/test-util", "legacy-test-util"]
 6732   8987   
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"]
 6733   8988   
wire-mock = ["legacy-test-util", "aws-smithy-http-client/wire-mock"]
 6734   8989   
 6735   8990   
[dependencies]
 6736   8991   
bytes = "1.10.0"
 6737   8992   
fastrand = "2.3.0"
 6738   8993   
pin-project-lite = "0.2.14"
 6739   8994   
pin-utils = "0.1.0"
 6740   8995   
tracing = "0.1.40"
 6741   8996   
 6742   8997   
[dependencies.aws-smithy-async]
 6743   8998   
path = "../aws-smithy-async"
 6744   8999   
version = "1.2.5"
 6745   9000   
 6746   9001   
[dependencies.aws-smithy-http]
 6747   9002   
path = "../aws-smithy-http"
 6748         -
version = "0.62.2"
        9003  +
version = "0.62.3"
 6749   9004   
 6750   9005   
[dependencies.aws-smithy-observability]
 6751   9006   
path = "../aws-smithy-observability"
 6752   9007   
version = "0.1.3"
 6753   9008   
 6754   9009   
[dependencies.aws-smithy-runtime-api]
 6755   9010   
path = "../aws-smithy-runtime-api"
 6756   9011   
version = "1.8.5"
 6757   9012   
 6758   9013   
[dependencies.aws-smithy-types]
 6759   9014   
path = "../aws-smithy-types"
 6760   9015   
features = ["http-body-0-4-x"]
 6761   9016   
version = "1.3.2"
 6762   9017   
 6763   9018   
[dependencies.aws-smithy-http-client]
 6764   9019   
path = "../aws-smithy-http-client"
 6765   9020   
optional = true
 6766   9021   
version = "1.0.6"
 6767   9022   
 6768   9023   
[dependencies.http-02x]
 6769   9024   
package = "http"
 6770   9025   
version = "0.2.9"
 6771   9026   
 6772   9027   
[dependencies.http-1x]
 6773   9028   
package = "http"
 6774   9029   
version = "1"
 6775   9030   
 6776   9031   
[dependencies.http-body-04x]
 6777   9032   
package = "http-body"
 6778   9033   
version = "0.4.5"
 6779   9034   
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
 6780   9035   
index 4e050c6..f58eb1c 100644
 6781         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
        9036  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
 6782   9037   
@@ -1,33 +1,33 @@
 6783   9038   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6784   9039   
[package]
 6785   9040   
name = "aws-smithy-wasm"
 6786   9041   
version = "0.1.4"
 6787   9042   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Eduardo Rodrigues <16357187+eduardomourar@users.noreply.github.com>"]
 6788   9043   
description = "Smithy WebAssembly configuration for smithy-rs."
 6789   9044   
edition = "2021"
 6790   9045   
license = "Apache-2.0"
 6791   9046   
repository = "https://github.com/awslabs/smithy-rs"
 6792   9047   
[package.metadata.docs.rs]
 6793   9048   
all-features = true
 6794   9049   
targets = ["x86_64-unknown-linux-gnu"]
 6795   9050   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6796   9051   
rustdoc-args = ["--cfg", "docsrs"]
 6797   9052   
 6798   9053   
[dependencies]
 6799   9054   
bytes = "1.10.0"
 6800   9055   
http = "1.0.0"
 6801   9056   
tracing = "0.1.40"
 6802   9057   
wasi = "0.12.1"
 6803   9058   
 6804   9059   
[dependencies.aws-smithy-runtime-api]
 6805   9060   
path = "../aws-smithy-runtime-api"
 6806   9061   
features = ["http-1x"]
 6807   9062   
version = "1.8.5"
 6808   9063   
 6809   9064   
[dependencies.aws-smithy-http]
 6810   9065   
path = "../aws-smithy-http"
 6811         -
version = "0.62.2"
        9066  +
version = "0.62.3"
 6812   9067   
 6813   9068   
[dependencies.aws-smithy-types]
 6814   9069   
path = "../aws-smithy-types"
 6815   9070   
version = "1.3.2"
 6816   9071   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 6817   9072   
index a880648..139e808 100644
 6818         -
-- a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
        9073  +
++ b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 6819   9074   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon Bedrock Runtime"
 6820   9075   
edition = "2021"
 6821   9076   
license = "Apache-2.0"
 6822   9077   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6823   9078   
rust-version = "1.86.0"
 6824   9079   
readme = "README.md"
 6825   9080   
[package.metadata.smithy]
 6826   9081   
codegen-version = "ci"
 6827   9082   
[package.metadata.docs.rs]
 6828   9083   
all-features = true
 6829   9084   
targets = ["x86_64-unknown-linux-gnu"]
 6830   9085   
[dependencies.aws-credential-types]
 6831   9086   
path = "../aws-credential-types"
 6832   9087   
version = "1.2.4"
 6833   9088   
 6834   9089   
[dependencies.aws-runtime]
 6835   9090   
path = "../aws-runtime"
 6836   9091   
features = ["event-stream"]
 6837   9092   
version = "1.5.9"
 6838   9093   
 6839   9094   
[dependencies.aws-smithy-async]
 6840   9095   
path = "../aws-smithy-async"
 6841   9096   
version = "1.2.5"
 6842   9097   
 6843   9098   
[dependencies.aws-smithy-eventstream]
 6844   9099   
path = "../aws-smithy-eventstream"
 6845   9100   
version = "0.60.10"
 6846   9101   
 6847   9102   
[dependencies.aws-smithy-http]
 6848   9103   
path = "../aws-smithy-http"
 6849   9104   
features = ["event-stream"]
 6850         -
version = "0.62.2"
        9105  +
version = "0.62.3"
 6851   9106   
 6852   9107   
[dependencies.aws-smithy-json]
 6853   9108   
path = "../aws-smithy-json"
 6854   9109   
version = "0.61.4"
 6855   9110   
 6856   9111   
[dependencies.aws-smithy-runtime]
 6857   9112   
path = "../aws-smithy-runtime"
 6858   9113   
features = ["client"]
 6859   9114   
version = "1.8.5"
 6860   9115   
 6861   9116   
[dependencies.aws-smithy-runtime-api]
 6862   9117   
path = "../aws-smithy-runtime-api"
 6863   9118   
features = ["client", "http-02x"]
 6864   9119   
version = "1.8.5"
 6865   9120   
 6866   9121   
[dependencies.aws-smithy-types]
 6867   9122   
path = "../aws-smithy-types"
 6868   9123   
version = "1.3.2"
 6869   9124   
 6870   9125   
[dependencies.aws-types]
 6871   9126   
path = "../aws-types"
 6872   9127   
version = "1.3.8"
 6873   9128   
 6874   9129   
[dependencies.bytes]
 6875   9130   
version = "1.4.0"
 6876   9131   
 6877   9132   
[dependencies.fastrand]
 6878   9133   
version = "2.0.0"
 6879   9134   
 6880   9135   
[dependencies.http]
 6881   9136   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 6882   9137   
index 415ecc9..667d12b 100644
 6883         -
-- a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
        9138  +
++ b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 6884   9139   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon CloudWatch Logs"
 6885   9140   
edition = "2021"
 6886   9141   
license = "Apache-2.0"
 6887   9142   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6888   9143   
rust-version = "1.86.0"
 6889   9144   
readme = "README.md"
 6890   9145   
[package.metadata.smithy]
 6891   9146   
codegen-version = "ci"
 6892   9147   
[package.metadata.docs.rs]
 6893   9148   
all-features = true
 6894   9149   
targets = ["x86_64-unknown-linux-gnu"]
 6895   9150   
[dependencies.aws-credential-types]
 6896   9151   
path = "../aws-credential-types"
 6897   9152   
version = "1.2.4"
 6898   9153   
 6899   9154   
[dependencies.aws-runtime]
 6900   9155   
path = "../aws-runtime"
 6901   9156   
features = ["event-stream"]
 6902   9157   
version = "1.5.9"
 6903   9158   
 6904   9159   
[dependencies.aws-smithy-async]
 6905   9160   
path = "../aws-smithy-async"
 6906   9161   
version = "1.2.5"
 6907   9162   
 6908   9163   
[dependencies.aws-smithy-eventstream]
 6909   9164   
path = "../aws-smithy-eventstream"
 6910   9165   
version = "0.60.10"
 6911   9166   
 6912   9167   
[dependencies.aws-smithy-http]
 6913   9168   
path = "../aws-smithy-http"
 6914   9169   
features = ["event-stream"]
 6915         -
version = "0.62.2"
        9170  +
version = "0.62.3"
 6916   9171   
 6917   9172   
[dependencies.aws-smithy-json]
 6918   9173   
path = "../aws-smithy-json"
 6919   9174   
version = "0.61.4"
 6920   9175   
 6921   9176   
[dependencies.aws-smithy-runtime]
 6922   9177   
path = "../aws-smithy-runtime"
 6923   9178   
features = ["client"]
 6924   9179   
version = "1.8.5"
 6925   9180   
 6926   9181   
[dependencies.aws-smithy-runtime-api]
 6927   9182   
path = "../aws-smithy-runtime-api"
 6928   9183   
features = ["client", "http-02x"]
 6929   9184   
version = "1.8.5"
 6930   9185   
 6931   9186   
[dependencies.aws-smithy-types]
 6932   9187   
path = "../aws-smithy-types"
 6933   9188   
version = "1.3.2"
 6934   9189   
 6935   9190   
[dependencies.aws-types]
 6936   9191   
path = "../aws-types"
 6937   9192   
version = "1.3.8"
 6938   9193   
 6939   9194   
[dependencies.bytes]
 6940   9195   
version = "1.4.0"
 6941   9196   
 6942   9197   
[dependencies.fastrand]
 6943   9198   
version = "2.0.0"
 6944   9199   
 6945   9200   
[dependencies.http]
 6946   9201   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 6947   9202   
index 8871cab..ed88de6 100644
 6948         -
-- a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
        9203  +
++ b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 6949   9204   
@@ -1,61 +1,61 @@
 6950   9205   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6951   9206   
[package]
 6952   9207   
name = "aws-sdk-codecatalyst"
 6953   9208   
version = "0.0.0-local"
 6954   9209   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6955   9210   
description = "AWS SDK for Amazon CodeCatalyst"
 6956   9211   
edition = "2021"
 6957   9212   
license = "Apache-2.0"
 6958   9213   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6959   9214   
rust-version = "1.86.0"
 6960   9215   
readme = "README.md"
 6961   9216   
[package.metadata.smithy]
 6962   9217   
codegen-version = "ci"
 6963   9218   
[package.metadata.docs.rs]
 6964   9219   
all-features = true
 6965   9220   
targets = ["x86_64-unknown-linux-gnu"]
 6966   9221   
[dependencies.aws-credential-types]
 6967   9222   
path = "../aws-credential-types"
 6968   9223   
version = "1.2.4"
 6969   9224   
 6970   9225   
[dependencies.aws-runtime]
 6971   9226   
path = "../aws-runtime"
 6972   9227   
version = "1.5.9"
 6973   9228   
 6974   9229   
[dependencies.aws-smithy-async]
 6975   9230   
path = "../aws-smithy-async"
 6976   9231   
version = "1.2.5"
 6977   9232   
 6978   9233   
[dependencies.aws-smithy-http]
 6979   9234   
path = "../aws-smithy-http"
 6980         -
version = "0.62.2"
        9235  +
version = "0.62.3"
 6981   9236   
 6982   9237   
[dependencies.aws-smithy-json]
 6983   9238   
path = "../aws-smithy-json"
 6984   9239   
version = "0.61.4"
 6985   9240   
 6986   9241   
[dependencies.aws-smithy-runtime]
 6987   9242   
path = "../aws-smithy-runtime"
 6988   9243   
features = ["client", "http-auth"]
 6989   9244   
version = "1.8.5"
 6990   9245   
 6991   9246   
[dependencies.aws-smithy-runtime-api]
 6992   9247   
path = "../aws-smithy-runtime-api"
 6993   9248   
features = ["client", "http-02x", "http-auth"]
 6994   9249   
version = "1.8.5"
 6995   9250   
 6996   9251   
[dependencies.aws-smithy-types]
 6997   9252   
path = "../aws-smithy-types"
 6998   9253   
version = "1.3.2"
 6999   9254   
 7000   9255   
[dependencies.aws-types]
 7001   9256   
path = "../aws-types"
 7002   9257   
version = "1.3.8"
 7003   9258   
 7004   9259   
[dependencies.bytes]
 7005   9260   
version = "1.4.0"
 7006   9261   
 7007   9262   
[dependencies.fastrand]
 7008   9263   
version = "2.0.0"
 7009   9264   
 7010   9265   
[dependencies.http]
 7011   9266   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 7012   9267   
index 89573ff..05238af 100644
 7013         -
-- a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
        9268  +
++ b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 7014   9269   
@@ -1,61 +1,61 @@
 7015   9270   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7016   9271   
[package]
 7017   9272   
name = "aws-sdk-config"
 7018   9273   
version = "0.0.0-local"
 7019   9274   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7020   9275   
description = "AWS SDK for AWS Config"
 7021   9276   
edition = "2021"
 7022   9277   
license = "Apache-2.0"
 7023   9278   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7024   9279   
rust-version = "1.86.0"
 7025   9280   
readme = "README.md"
 7026   9281   
[package.metadata.smithy]
 7027   9282   
codegen-version = "ci"
 7028   9283   
[package.metadata.docs.rs]
 7029   9284   
all-features = true
 7030   9285   
targets = ["x86_64-unknown-linux-gnu"]
 7031   9286   
[dependencies.aws-credential-types]
 7032   9287   
path = "../aws-credential-types"
 7033   9288   
version = "1.2.4"
 7034   9289   
 7035   9290   
[dependencies.aws-runtime]
 7036   9291   
path = "../aws-runtime"
 7037   9292   
version = "1.5.9"
 7038   9293   
 7039   9294   
[dependencies.aws-smithy-async]
 7040   9295   
path = "../aws-smithy-async"
 7041   9296   
version = "1.2.5"
 7042   9297   
 7043   9298   
[dependencies.aws-smithy-http]
 7044   9299   
path = "../aws-smithy-http"
 7045         -
version = "0.62.2"
        9300  +
version = "0.62.3"
 7046   9301   
 7047   9302   
[dependencies.aws-smithy-json]
 7048   9303   
path = "../aws-smithy-json"
 7049   9304   
version = "0.61.4"
 7050   9305   
 7051   9306   
[dependencies.aws-smithy-runtime]
 7052   9307   
path = "../aws-smithy-runtime"
 7053   9308   
features = ["client"]
 7054   9309   
version = "1.8.5"
 7055   9310   
 7056   9311   
[dependencies.aws-smithy-runtime-api]
 7057   9312   
path = "../aws-smithy-runtime-api"
 7058   9313   
features = ["client", "http-02x"]
 7059   9314   
version = "1.8.5"
 7060   9315   
 7061   9316   
[dependencies.aws-smithy-types]
 7062   9317   
path = "../aws-smithy-types"
 7063   9318   
version = "1.3.2"
 7064   9319   
 7065   9320   
[dependencies.aws-types]
 7066   9321   
path = "../aws-types"
 7067   9322   
version = "1.3.8"
 7068   9323   
 7069   9324   
[dependencies.bytes]
 7070   9325   
version = "1.4.0"
 7071   9326   
 7072   9327   
[dependencies.fastrand]
 7073   9328   
version = "2.0.0"
 7074   9329   
 7075   9330   
[dependencies.http]
 7076   9331   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 7077   9332   
index d397c58..2c1062b 100644
 7078         -
-- a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
        9333  +
++ b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 7079   9334   
@@ -1,61 +1,61 @@
 7080   9335   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7081   9336   
[package]
 7082   9337   
name = "aws-sdk-dynamodb"
 7083   9338   
version = "0.0.0-local"
 7084   9339   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7085   9340   
description = "AWS SDK for Amazon DynamoDB"
 7086   9341   
edition = "2021"
 7087   9342   
license = "Apache-2.0"
 7088   9343   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7089   9344   
rust-version = "1.86.0"
 7090   9345   
readme = "README.md"
 7091   9346   
[package.metadata.smithy]
 7092   9347   
codegen-version = "ci"
 7093   9348   
[package.metadata.docs.rs]
 7094   9349   
all-features = true
 7095   9350   
targets = ["x86_64-unknown-linux-gnu"]
 7096   9351   
[dependencies.aws-credential-types]
 7097   9352   
path = "../aws-credential-types"
 7098   9353   
version = "1.2.4"
 7099   9354   
 7100   9355   
[dependencies.aws-runtime]
 7101   9356   
path = "../aws-runtime"
 7102   9357   
version = "1.5.9"
 7103   9358   
 7104   9359   
[dependencies.aws-smithy-async]
 7105   9360   
path = "../aws-smithy-async"
 7106   9361   
version = "1.2.5"
 7107   9362   
 7108   9363   
[dependencies.aws-smithy-http]
 7109   9364   
path = "../aws-smithy-http"
 7110         -
version = "0.62.2"
        9365  +
version = "0.62.3"
 7111   9366   
 7112   9367   
[dependencies.aws-smithy-json]
 7113   9368   
path = "../aws-smithy-json"
 7114   9369   
version = "0.61.4"
 7115   9370   
 7116   9371   
[dependencies.aws-smithy-runtime]
 7117   9372   
path = "../aws-smithy-runtime"
 7118   9373   
features = ["client"]
 7119   9374   
version = "1.8.5"
 7120   9375   
 7121   9376   
[dependencies.aws-smithy-runtime-api]
 7122   9377   
path = "../aws-smithy-runtime-api"
 7123   9378   
features = ["client", "http-02x"]
 7124   9379   
version = "1.8.5"
 7125   9380   
 7126   9381   
[dependencies.aws-smithy-types]
 7127   9382   
path = "../aws-smithy-types"
 7128   9383   
version = "1.3.2"
 7129   9384   
 7130   9385   
[dependencies.aws-types]
 7131   9386   
path = "../aws-types"
 7132   9387   
version = "1.3.8"
 7133   9388   
 7134   9389   
[dependencies.bytes]
 7135   9390   
version = "1.4.0"
 7136   9391   
 7137   9392   
[dependencies.fastrand]
 7138   9393   
version = "2.0.0"
 7139   9394   
 7140   9395   
[dependencies.http]
 7141   9396   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 7142   9397   
index c0ba315..46168af 100644
 7143         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
        9398  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 7144   9399   
@@ -1,61 +1,61 @@
 7145   9400   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7146   9401   
[package]
 7147   9402   
name = "aws-sdk-ec2"
 7148   9403   
version = "0.0.0-local"
 7149   9404   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7150   9405   
description = "AWS SDK for Amazon Elastic Compute Cloud"
 7151   9406   
edition = "2021"
 7152   9407   
license = "Apache-2.0"
 7153   9408   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7154   9409   
rust-version = "1.86.0"
 7155   9410   
readme = "README.md"
 7156   9411   
[package.metadata.smithy]
 7157   9412   
codegen-version = "ci"
 7158   9413   
[package.metadata.docs.rs]
 7159   9414   
all-features = true
 7160   9415   
targets = ["x86_64-unknown-linux-gnu"]
 7161   9416   
[dependencies.aws-credential-types]
 7162   9417   
path = "../aws-credential-types"
 7163   9418   
version = "1.2.4"
 7164   9419   
 7165   9420   
[dependencies.aws-runtime]
 7166   9421   
path = "../aws-runtime"
 7167   9422   
version = "1.5.9"
 7168   9423   
 7169   9424   
[dependencies.aws-smithy-async]
 7170   9425   
path = "../aws-smithy-async"
 7171   9426   
version = "1.2.5"
 7172   9427   
 7173   9428   
[dependencies.aws-smithy-http]
 7174   9429   
path = "../aws-smithy-http"
 7175         -
version = "0.62.2"
        9430  +
version = "0.62.3"
 7176   9431   
 7177   9432   
[dependencies.aws-smithy-json]
 7178   9433   
path = "../aws-smithy-json"
 7179   9434   
version = "0.61.4"
 7180   9435   
 7181   9436   
[dependencies.aws-smithy-query]
 7182   9437   
path = "../aws-smithy-query"
 7183   9438   
version = "0.60.7"
 7184   9439   
 7185   9440   
[dependencies.aws-smithy-runtime]
 7186   9441   
path = "../aws-smithy-runtime"
 7187   9442   
features = ["client"]
 7188   9443   
version = "1.8.5"
 7189   9444   
 7190   9445   
[dependencies.aws-smithy-runtime-api]
 7191   9446   
path = "../aws-smithy-runtime-api"
 7192   9447   
features = ["client", "http-02x"]
 7193   9448   
version = "1.8.5"
 7194   9449   
 7195   9450   
[dependencies.aws-smithy-types]
 7196   9451   
path = "../aws-smithy-types"
 7197   9452   
version = "1.3.2"
 7198   9453   
 7199   9454   
[dependencies.aws-smithy-xml]
 7200   9455   
path = "../aws-smithy-xml"
 7201   9456   
version = "0.60.10"
 7202   9457   
 7203   9458   
[dependencies.aws-types]
 7204   9459   
path = "../aws-types"
 7205   9460   
version = "1.3.8"
 7206   9461   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 7207   9462   
index 4474d17..095d40e 100644
 7208         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
        9463  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 7209   9464   
@@ -1,61 +1,61 @@
 7210   9465   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7211   9466   
[package]
 7212   9467   
name = "aws-sdk-ecs"
 7213   9468   
version = "0.0.0-local"
 7214   9469   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7215   9470   
description = "AWS SDK for Amazon EC2 Container Service"
 7216   9471   
edition = "2021"
 7217   9472   
license = "Apache-2.0"
 7218   9473   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7219   9474   
rust-version = "1.86.0"
 7220   9475   
readme = "README.md"
 7221   9476   
[package.metadata.smithy]
 7222   9477   
codegen-version = "ci"
 7223   9478   
[package.metadata.docs.rs]
 7224   9479   
all-features = true
 7225   9480   
targets = ["x86_64-unknown-linux-gnu"]
 7226   9481   
[dependencies.aws-credential-types]
 7227   9482   
path = "../aws-credential-types"
 7228   9483   
version = "1.2.4"
 7229   9484   
 7230   9485   
[dependencies.aws-runtime]
 7231   9486   
path = "../aws-runtime"
 7232   9487   
version = "1.5.9"
 7233   9488   
 7234   9489   
[dependencies.aws-smithy-async]
 7235   9490   
path = "../aws-smithy-async"
 7236   9491   
version = "1.2.5"
 7237   9492   
 7238   9493   
[dependencies.aws-smithy-http]
 7239   9494   
path = "../aws-smithy-http"
 7240         -
version = "0.62.2"
        9495  +
version = "0.62.3"
 7241   9496   
 7242   9497   
[dependencies.aws-smithy-json]
 7243   9498   
path = "../aws-smithy-json"
 7244   9499   
version = "0.61.4"
 7245   9500   
 7246   9501   
[dependencies.aws-smithy-runtime]
 7247   9502   
path = "../aws-smithy-runtime"
 7248   9503   
features = ["client"]
 7249   9504   
version = "1.8.5"
 7250   9505   
 7251   9506   
[dependencies.aws-smithy-runtime-api]
 7252   9507   
path = "../aws-smithy-runtime-api"
 7253   9508   
features = ["client", "http-02x"]
 7254   9509   
version = "1.8.5"
 7255   9510   
 7256   9511   
[dependencies.aws-smithy-types]
 7257   9512   
path = "../aws-smithy-types"
 7258   9513   
version = "1.3.2"
 7259   9514   
 7260   9515   
[dependencies.aws-types]
 7261   9516   
path = "../aws-types"
 7262   9517   
version = "1.3.8"
 7263   9518   
 7264   9519   
[dependencies.bytes]
 7265   9520   
version = "1.4.0"
 7266   9521   
 7267   9522   
[dependencies.fastrand]
 7268   9523   
version = "2.0.0"
 7269   9524   
 7270   9525   
[dependencies.http]
 7271   9526   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 7272   9527   
index 15b1d77..16d7d89 100644
 7273         -
-- a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
        9528  +
++ b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 7274   9529   
@@ -1,65 +1,65 @@
 7275   9530   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7276   9531   
[package]
 7277   9532   
name = "aws-sdk-glacier"
 7278   9533   
version = "0.0.0-local"
 7279   9534   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7280   9535   
description = "AWS SDK for Amazon Glacier"
 7281   9536   
edition = "2021"
 7282   9537   
license = "Apache-2.0"
 7283   9538   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7284   9539   
rust-version = "1.86.0"
 7285   9540   
readme = "README.md"
 7286   9541   
[package.metadata.smithy]
 7287   9542   
codegen-version = "ci"
 7288   9543   
[package.metadata.docs.rs]
 7289   9544   
all-features = true
 7290   9545   
targets = ["x86_64-unknown-linux-gnu"]
 7291   9546   
[dependencies.aws-credential-types]
 7292   9547   
path = "../aws-credential-types"
 7293   9548   
version = "1.2.4"
 7294   9549   
 7295   9550   
[dependencies.aws-runtime]
 7296   9551   
path = "../aws-runtime"
 7297   9552   
version = "1.5.9"
 7298   9553   
 7299   9554   
[dependencies.aws-sigv4]
 7300   9555   
path = "../aws-sigv4"
 7301         -
version = "1.3.3"
        9556  +
version = "1.3.4"
 7302   9557   
 7303   9558   
[dependencies.aws-smithy-async]
 7304   9559   
path = "../aws-smithy-async"
 7305   9560   
version = "1.2.5"
 7306   9561   
 7307   9562   
[dependencies.aws-smithy-http]
 7308   9563   
path = "../aws-smithy-http"
 7309         -
version = "0.62.2"
        9564  +
version = "0.62.3"
 7310   9565   
 7311   9566   
[dependencies.aws-smithy-json]
 7312   9567   
path = "../aws-smithy-json"
 7313   9568   
version = "0.61.4"
 7314   9569   
 7315   9570   
[dependencies.aws-smithy-runtime]
 7316   9571   
path = "../aws-smithy-runtime"
 7317   9572   
features = ["client"]
 7318   9573   
version = "1.8.5"
 7319   9574   
 7320   9575   
[dependencies.aws-smithy-runtime-api]
 7321   9576   
path = "../aws-smithy-runtime-api"
 7322   9577   
features = ["client", "http-02x"]
 7323   9578   
version = "1.8.5"
 7324   9579   
 7325   9580   
[dependencies.aws-smithy-types]
 7326   9581   
path = "../aws-smithy-types"
 7327   9582   
version = "1.3.2"
 7328   9583   
 7329   9584   
[dependencies.aws-types]
 7330   9585   
path = "../aws-types"
 7331   9586   
version = "1.3.8"
 7332   9587   
 7333   9588   
[dependencies.bytes]
 7334   9589   
version = "1.4.0"
 7335   9590   
 7336   9591   
[dependencies.fastrand]
 7337   9592   
version = "2.0.0"
 7338   9593   
 7339   9594   
[dependencies.hex]
 7340   9595   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7341   9596   
index d718a3a..65e6f24 100644
 7342         -
-- a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
        9597  +
++ b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7343   9598   
@@ -1,61 +1,61 @@
 7344   9599   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7345   9600   
[package]
 7346   9601   
name = "aws-sdk-iam"
 7347   9602   
version = "0.0.0-local"
 7348   9603   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7349   9604   
description = "AWS SDK for AWS Identity and Access Management"
 7350   9605   
edition = "2021"
 7351   9606   
license = "Apache-2.0"
 7352   9607   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7353   9608   
rust-version = "1.86.0"
 7354   9609   
readme = "README.md"
 7355   9610   
[package.metadata.smithy]
 7356   9611   
codegen-version = "ci"
 7357   9612   
[package.metadata.docs.rs]
 7358   9613   
all-features = true
 7359   9614   
targets = ["x86_64-unknown-linux-gnu"]
 7360   9615   
[dependencies.aws-credential-types]
 7361   9616   
path = "../aws-credential-types"
 7362   9617   
version = "1.2.4"
 7363   9618   
 7364   9619   
[dependencies.aws-runtime]
 7365   9620   
path = "../aws-runtime"
 7366   9621   
version = "1.5.9"
 7367   9622   
 7368   9623   
[dependencies.aws-smithy-async]
 7369   9624   
path = "../aws-smithy-async"
 7370   9625   
version = "1.2.5"
 7371   9626   
 7372   9627   
[dependencies.aws-smithy-http]
 7373   9628   
path = "../aws-smithy-http"
 7374         -
version = "0.62.2"
        9629  +
version = "0.62.3"
 7375   9630   
 7376   9631   
[dependencies.aws-smithy-json]
 7377   9632   
path = "../aws-smithy-json"
 7378   9633   
version = "0.61.4"
 7379   9634   
 7380   9635   
[dependencies.aws-smithy-query]
 7381   9636   
path = "../aws-smithy-query"
 7382   9637   
version = "0.60.7"
 7383   9638   
 7384   9639   
[dependencies.aws-smithy-runtime]
 7385   9640   
path = "../aws-smithy-runtime"
 7386   9641   
features = ["client"]
 7387   9642   
version = "1.8.5"
 7388   9643   
 7389   9644   
[dependencies.aws-smithy-runtime-api]
 7390   9645   
path = "../aws-smithy-runtime-api"
 7391   9646   
features = ["client", "http-02x"]
 7392   9647   
version = "1.8.5"
 7393   9648   
 7394   9649   
[dependencies.aws-smithy-types]
 7395   9650   
path = "../aws-smithy-types"
 7396   9651   
version = "1.3.2"
 7397   9652   
 7398   9653   
[dependencies.aws-smithy-xml]
 7399   9654   
path = "../aws-smithy-xml"
 7400   9655   
version = "0.60.10"
 7401   9656   
 7402   9657   
[dependencies.aws-types]
 7403   9658   
path = "../aws-types"
 7404   9659   
version = "1.3.8"
 7405   9660   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7406   9661   
index 0ed4302..3d828a5 100644
 7407         -
-- a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
        9662  +
++ b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7408   9663   
@@ -1,61 +1,61 @@
 7409   9664   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7410   9665   
[package]
 7411   9666   
name = "aws-sdk-kms"
 7412   9667   
version = "0.0.0-local"
 7413   9668   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7414   9669   
description = "AWS SDK for AWS Key Management Service"
 7415   9670   
edition = "2021"
 7416   9671   
license = "Apache-2.0"
 7417   9672   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7418   9673   
rust-version = "1.86.0"
 7419   9674   
readme = "README.md"
 7420   9675   
[package.metadata.smithy]
 7421   9676   
codegen-version = "ci"
 7422   9677   
[package.metadata.docs.rs]
 7423   9678   
all-features = true
 7424   9679   
targets = ["x86_64-unknown-linux-gnu"]
 7425   9680   
[dependencies.aws-credential-types]
 7426   9681   
path = "../aws-credential-types"
 7427   9682   
version = "1.2.4"
 7428   9683   
 7429   9684   
[dependencies.aws-runtime]
 7430   9685   
path = "../aws-runtime"
 7431   9686   
version = "1.5.9"
 7432   9687   
 7433   9688   
[dependencies.aws-smithy-async]
 7434   9689   
path = "../aws-smithy-async"
 7435   9690   
version = "1.2.5"
 7436   9691   
 7437   9692   
[dependencies.aws-smithy-http]
 7438   9693   
path = "../aws-smithy-http"
 7439         -
version = "0.62.2"
        9694  +
version = "0.62.3"
 7440   9695   
 7441   9696   
[dependencies.aws-smithy-json]
 7442   9697   
path = "../aws-smithy-json"
 7443   9698   
version = "0.61.4"
 7444   9699   
 7445   9700   
[dependencies.aws-smithy-runtime]
 7446   9701   
path = "../aws-smithy-runtime"
 7447   9702   
features = ["client"]
 7448   9703   
version = "1.8.5"
 7449   9704   
 7450   9705   
[dependencies.aws-smithy-runtime-api]
 7451   9706   
path = "../aws-smithy-runtime-api"
 7452   9707   
features = ["client", "http-02x"]
 7453   9708   
version = "1.8.5"
 7454   9709   
 7455   9710   
[dependencies.aws-smithy-types]
 7456   9711   
path = "../aws-smithy-types"
 7457   9712   
version = "1.3.2"
 7458   9713   
 7459   9714   
[dependencies.aws-types]
 7460   9715   
path = "../aws-types"
 7461   9716   
version = "1.3.8"
 7462   9717   
 7463   9718   
[dependencies.bytes]
 7464   9719   
version = "1.4.0"
 7465   9720   
 7466   9721   
[dependencies.fastrand]
 7467   9722   
version = "2.0.0"
 7468   9723   
 7469   9724   
[dependencies.http]
 7470   9725   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7471   9726   
index 6518dfc..6b94752 100644
 7472         -
-- a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
        9727  +
++ b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7473   9728   
@@ -7,61 +7,61 @@ description = "AWS SDK for AWS Lambda"
 7474   9729   
edition = "2021"
 7475   9730   
license = "Apache-2.0"
 7476   9731   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7477   9732   
rust-version = "1.86.0"
 7478   9733   
readme = "README.md"
 7479   9734   
[package.metadata.smithy]
 7480   9735   
codegen-version = "ci"
 7481   9736   
[package.metadata.docs.rs]
 7482   9737   
all-features = true
 7483   9738   
targets = ["x86_64-unknown-linux-gnu"]
 7484   9739   
[dependencies.aws-credential-types]
 7485   9740   
path = "../aws-credential-types"
 7486   9741   
version = "1.2.4"
 7487   9742   
 7488   9743   
[dependencies.aws-runtime]
 7489   9744   
path = "../aws-runtime"
 7490   9745   
features = ["event-stream"]
 7491   9746   
version = "1.5.9"
 7492   9747   
 7493   9748   
[dependencies.aws-smithy-async]
 7494   9749   
path = "../aws-smithy-async"
 7495   9750   
version = "1.2.5"
 7496   9751   
 7497   9752   
[dependencies.aws-smithy-eventstream]
 7498   9753   
path = "../aws-smithy-eventstream"
 7499   9754   
version = "0.60.10"
 7500   9755   
 7501   9756   
[dependencies.aws-smithy-http]
 7502   9757   
path = "../aws-smithy-http"
 7503   9758   
features = ["event-stream"]
 7504         -
version = "0.62.2"
        9759  +
version = "0.62.3"
 7505   9760   
 7506   9761   
[dependencies.aws-smithy-json]
 7507   9762   
path = "../aws-smithy-json"
 7508   9763   
version = "0.61.4"
 7509   9764   
 7510   9765   
[dependencies.aws-smithy-runtime]
 7511   9766   
path = "../aws-smithy-runtime"
 7512   9767   
features = ["client"]
 7513   9768   
version = "1.8.5"
 7514   9769   
 7515   9770   
[dependencies.aws-smithy-runtime-api]
 7516   9771   
path = "../aws-smithy-runtime-api"
 7517   9772   
features = ["client", "http-02x"]
 7518   9773   
version = "1.8.5"
 7519   9774   
 7520   9775   
[dependencies.aws-smithy-types]
 7521   9776   
path = "../aws-smithy-types"
 7522   9777   
version = "1.3.2"
 7523   9778   
 7524   9779   
[dependencies.aws-types]
 7525   9780   
path = "../aws-types"
 7526   9781   
version = "1.3.8"
 7527   9782   
 7528   9783   
[dependencies.bytes]
 7529   9784   
version = "1.4.0"
 7530   9785   
 7531   9786   
[dependencies.fastrand]
 7532   9787   
version = "2.0.0"
 7533   9788   
 7534   9789   
[dependencies.http]
 7535   9790   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7536   9791   
index dabb0e0..34cbc15 100644
 7537         -
-- a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
        9792  +
++ b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7538   9793   
@@ -1,65 +1,65 @@
 7539   9794   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7540   9795   
[package]
 7541   9796   
name = "aws-sdk-polly"
 7542   9797   
version = "0.0.0-local"
 7543   9798   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7544   9799   
description = "AWS SDK for Amazon Polly"
 7545   9800   
edition = "2021"
 7546   9801   
license = "Apache-2.0"
 7547   9802   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7548   9803   
rust-version = "1.86.0"
 7549   9804   
readme = "README.md"
 7550   9805   
[package.metadata.smithy]
 7551   9806   
codegen-version = "ci"
 7552   9807   
[package.metadata.docs.rs]
 7553   9808   
all-features = true
 7554   9809   
targets = ["x86_64-unknown-linux-gnu"]
 7555   9810   
[dependencies.aws-credential-types]
 7556   9811   
path = "../aws-credential-types"
 7557   9812   
version = "1.2.4"
 7558   9813   
 7559   9814   
[dependencies.aws-runtime]
 7560   9815   
path = "../aws-runtime"
 7561   9816   
version = "1.5.9"
 7562   9817   
 7563   9818   
[dependencies.aws-sigv4]
 7564   9819   
path = "../aws-sigv4"
 7565         -
version = "1.3.3"
        9820  +
version = "1.3.4"
 7566   9821   
 7567   9822   
[dependencies.aws-smithy-async]
 7568   9823   
path = "../aws-smithy-async"
 7569   9824   
version = "1.2.5"
 7570   9825   
 7571   9826   
[dependencies.aws-smithy-http]
 7572   9827   
path = "../aws-smithy-http"
 7573         -
version = "0.62.2"
        9828  +
version = "0.62.3"
 7574   9829   
 7575   9830   
[dependencies.aws-smithy-json]
 7576   9831   
path = "../aws-smithy-json"
 7577   9832   
version = "0.61.4"
 7578   9833   
 7579   9834   
[dependencies.aws-smithy-runtime]
 7580   9835   
path = "../aws-smithy-runtime"
 7581   9836   
features = ["client"]
 7582   9837   
version = "1.8.5"
 7583   9838   
 7584   9839   
[dependencies.aws-smithy-runtime-api]
 7585   9840   
path = "../aws-smithy-runtime-api"
 7586   9841   
features = ["client", "http-02x"]
 7587   9842   
version = "1.8.5"
 7588   9843   
 7589   9844   
[dependencies.aws-smithy-types]
 7590   9845   
path = "../aws-smithy-types"
 7591   9846   
version = "1.3.2"
 7592   9847   
 7593   9848   
[dependencies.aws-types]
 7594   9849   
path = "../aws-types"
 7595   9850   
version = "1.3.8"
 7596   9851   
 7597   9852   
[dependencies.bytes]
 7598   9853   
version = "1.4.0"
 7599   9854   
 7600   9855   
[dependencies.fastrand]
 7601   9856   
version = "2.0.0"
 7602   9857   
 7603   9858   
[dependencies.http]
 7604   9859   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7605   9860   
index a884716..f3d8713 100644
 7606         -
-- a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
        9861  +
++ b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7607   9862   
@@ -1,61 +1,61 @@
 7608   9863   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7609   9864   
[package]
 7610   9865   
name = "aws-sdk-qldbsession"
 7611   9866   
version = "0.0.0-local"
 7612   9867   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7613   9868   
description = "AWS SDK for Amazon QLDB Session"
 7614   9869   
edition = "2021"
 7615   9870   
license = "Apache-2.0"
 7616   9871   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7617   9872   
rust-version = "1.86.0"
 7618   9873   
readme = "README.md"
 7619   9874   
[package.metadata.smithy]
 7620   9875   
codegen-version = "ci"
 7621   9876   
[package.metadata.docs.rs]
 7622   9877   
all-features = true
 7623   9878   
targets = ["x86_64-unknown-linux-gnu"]
 7624   9879   
[dependencies.aws-credential-types]
 7625   9880   
path = "../aws-credential-types"
 7626   9881   
version = "1.2.4"
 7627   9882   
 7628   9883   
[dependencies.aws-runtime]
 7629   9884   
path = "../aws-runtime"
 7630   9885   
version = "1.5.9"
 7631   9886   
 7632   9887   
[dependencies.aws-smithy-async]
 7633   9888   
path = "../aws-smithy-async"
 7634   9889   
version = "1.2.5"
 7635   9890   
 7636   9891   
[dependencies.aws-smithy-http]
 7637   9892   
path = "../aws-smithy-http"
 7638         -
version = "0.62.2"
        9893  +
version = "0.62.3"
 7639   9894   
 7640   9895   
[dependencies.aws-smithy-json]
 7641   9896   
path = "../aws-smithy-json"
 7642   9897   
version = "0.61.4"
 7643   9898   
 7644   9899   
[dependencies.aws-smithy-runtime]
 7645   9900   
path = "../aws-smithy-runtime"
 7646   9901   
features = ["client"]
 7647   9902   
version = "1.8.5"
 7648   9903   
 7649   9904   
[dependencies.aws-smithy-runtime-api]
 7650   9905   
path = "../aws-smithy-runtime-api"
 7651   9906   
features = ["client", "http-02x"]
 7652   9907   
version = "1.8.5"
 7653   9908   
 7654   9909   
[dependencies.aws-smithy-types]
 7655   9910   
path = "../aws-smithy-types"
 7656   9911   
version = "1.3.2"
 7657   9912   
 7658   9913   
[dependencies.aws-types]
 7659   9914   
path = "../aws-types"
 7660   9915   
version = "1.3.8"
 7661   9916   
 7662   9917   
[dependencies.bytes]
 7663   9918   
version = "1.4.0"
 7664   9919   
 7665   9920   
[dependencies.fastrand]
 7666   9921   
version = "2.0.0"
 7667   9922   
 7668   9923   
[dependencies.http]
 7669   9924   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7670   9925   
index 32a7dc9..a2c752d 100644
 7671         -
-- a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
        9926  +
++ b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7672   9927   
@@ -1,61 +1,61 @@
 7673   9928   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7674   9929   
[package]
 7675   9930   
name = "aws-sdk-route53"
 7676   9931   
version = "0.0.0-local"
 7677   9932   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7678   9933   
description = "AWS SDK for Amazon Route 53"
 7679   9934   
edition = "2021"
 7680   9935   
license = "Apache-2.0"
 7681   9936   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7682   9937   
rust-version = "1.86.0"
 7683   9938   
readme = "README.md"
 7684   9939   
[package.metadata.smithy]
 7685   9940   
codegen-version = "ci"
 7686   9941   
[package.metadata.docs.rs]
 7687   9942   
all-features = true
 7688   9943   
targets = ["x86_64-unknown-linux-gnu"]
 7689   9944   
[dependencies.aws-credential-types]
 7690   9945   
path = "../aws-credential-types"
 7691   9946   
version = "1.2.4"
 7692   9947   
 7693   9948   
[dependencies.aws-runtime]
 7694   9949   
path = "../aws-runtime"
 7695   9950   
version = "1.5.9"
 7696   9951   
 7697   9952   
[dependencies.aws-smithy-async]
 7698   9953   
path = "../aws-smithy-async"
 7699   9954   
version = "1.2.5"
 7700   9955   
 7701   9956   
[dependencies.aws-smithy-http]
 7702   9957   
path = "../aws-smithy-http"
 7703         -
version = "0.62.2"
        9958  +
version = "0.62.3"
 7704   9959   
 7705   9960   
[dependencies.aws-smithy-json]
 7706   9961   
path = "../aws-smithy-json"
 7707   9962   
version = "0.61.4"
 7708   9963   
 7709   9964   
[dependencies.aws-smithy-runtime]
 7710   9965   
path = "../aws-smithy-runtime"
 7711   9966   
features = ["client"]
 7712   9967   
version = "1.8.5"
 7713   9968   
 7714   9969   
[dependencies.aws-smithy-runtime-api]
 7715   9970   
path = "../aws-smithy-runtime-api"
 7716   9971   
features = ["client", "http-02x"]
 7717   9972   
version = "1.8.5"
 7718   9973   
 7719   9974   
[dependencies.aws-smithy-types]
 7720   9975   
path = "../aws-smithy-types"
 7721   9976   
version = "1.3.2"
 7722   9977   
 7723   9978   
[dependencies.aws-smithy-xml]
 7724   9979   
path = "../aws-smithy-xml"
 7725   9980   
version = "0.60.10"
 7726   9981   
 7727   9982   
[dependencies.aws-types]
 7728   9983   
path = "../aws-types"
 7729   9984   
version = "1.3.8"
 7730   9985   
 7731   9986   
[dependencies.fastrand]
 7732   9987   
version = "2.0.0"
 7733   9988   
 7734   9989   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7735   9990   
index f65e261..2f6bec0 100644
 7736         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
        9991  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7737   9992   
@@ -1,75 +1,75 @@
 7738   9993   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7739   9994   
[package]
 7740   9995   
name = "aws-sdk-s3"
 7741   9996   
version = "0.0.0-local"
 7742   9997   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7743   9998   
description = "AWS SDK for Amazon Simple Storage Service"
 7744   9999   
edition = "2021"
 7745  10000   
license = "Apache-2.0"
 7746  10001   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7747  10002   
rust-version = "1.86.0"
 7748  10003   
readme = "README.md"
 7749  10004   
[package.metadata.smithy]
 7750  10005   
codegen-version = "ci"
 7751  10006   
[package.metadata.docs.rs]
 7752  10007   
all-features = true
 7753  10008   
targets = ["x86_64-unknown-linux-gnu"]
 7754  10009   
[dependencies.aws-credential-types]
 7755  10010   
path = "../aws-credential-types"
 7756  10011   
version = "1.2.4"
 7757  10012   
 7758  10013   
[dependencies.aws-runtime]
 7759  10014   
path = "../aws-runtime"
 7760  10015   
features = ["event-stream", "http-02x"]
 7761  10016   
version = "1.5.9"
 7762  10017   
 7763  10018   
[dependencies.aws-sigv4]
 7764  10019   
path = "../aws-sigv4"
 7765         -
version = "1.3.3"
       10020  +
version = "1.3.4"
 7766  10021   
 7767  10022   
[dependencies.aws-smithy-async]
 7768  10023   
path = "../aws-smithy-async"
 7769  10024   
version = "1.2.5"
 7770  10025   
 7771  10026   
[dependencies.aws-smithy-checksums]
 7772  10027   
path = "../aws-smithy-checksums"
 7773  10028   
version = "0.63.5"
 7774  10029   
 7775  10030   
[dependencies.aws-smithy-eventstream]
 7776  10031   
path = "../aws-smithy-eventstream"
 7777  10032   
version = "0.60.10"
 7778  10033   
 7779  10034   
[dependencies.aws-smithy-http]
 7780  10035   
path = "../aws-smithy-http"
 7781  10036   
features = ["event-stream"]
 7782         -
version = "0.62.2"
       10037  +
version = "0.62.3"
 7783  10038   
 7784  10039   
[dependencies.aws-smithy-json]
 7785  10040   
path = "../aws-smithy-json"
 7786  10041   
version = "0.61.4"
 7787  10042   
 7788  10043   
[dependencies.aws-smithy-runtime]
 7789  10044   
path = "../aws-smithy-runtime"
 7790  10045   
features = ["client"]
 7791  10046   
version = "1.8.5"
 7792  10047   
 7793  10048   
[dependencies.aws-smithy-runtime-api]
 7794  10049   
path = "../aws-smithy-runtime-api"
 7795  10050   
features = ["client", "http-02x"]
 7796  10051   
version = "1.8.5"
 7797  10052   
 7798  10053   
[dependencies.aws-smithy-types]
 7799  10054   
path = "../aws-smithy-types"
 7800  10055   
version = "1.3.2"
 7801  10056   
 7802  10057   
[dependencies.aws-smithy-xml]
 7803  10058   
path = "../aws-smithy-xml"
 7804  10059   
version = "0.60.10"
 7805  10060   
 7806  10061   
[dependencies.aws-types]
 7807  10062   
path = "../aws-types"
 7808  10063   
version = "1.3.8"
 7809  10064   
 7810  10065   
[dependencies.bytes]
 7811  10066   
version = "1.4.0"
 7812  10067   
 7813  10068   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7814  10069   
index b4d1cdd..861c0cc 100644
 7815         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
       10070  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7816  10071   
@@ -1,61 +1,61 @@
 7817  10072   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7818  10073   
[package]
 7819  10074   
name = "aws-sdk-s3control"
 7820  10075   
version = "0.0.0-local"
 7821  10076   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7822  10077   
description = "AWS SDK for AWS S3 Control"
 7823  10078   
edition = "2021"
 7824  10079   
license = "Apache-2.0"
 7825  10080   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7826  10081   
rust-version = "1.86.0"
 7827  10082   
readme = "README.md"
 7828  10083   
[package.metadata.smithy]
 7829  10084   
codegen-version = "ci"
 7830  10085   
[package.metadata.docs.rs]
 7831  10086   
all-features = true
 7832  10087   
targets = ["x86_64-unknown-linux-gnu"]
 7833  10088   
[dependencies.aws-credential-types]
 7834  10089   
path = "../aws-credential-types"
 7835  10090   
version = "1.2.4"
 7836  10091   
 7837  10092   
[dependencies.aws-runtime]
 7838  10093   
path = "../aws-runtime"
 7839  10094   
version = "1.5.9"
 7840  10095   
 7841  10096   
[dependencies.aws-smithy-async]
 7842  10097   
path = "../aws-smithy-async"
 7843  10098   
version = "1.2.5"
 7844  10099   
 7845  10100   
[dependencies.aws-smithy-http]
 7846  10101   
path = "../aws-smithy-http"
 7847         -
version = "0.62.2"
       10102  +
version = "0.62.3"
 7848  10103   
 7849  10104   
[dependencies.aws-smithy-json]
 7850  10105   
path = "../aws-smithy-json"
 7851  10106   
version = "0.61.4"
 7852  10107   
 7853  10108   
[dependencies.aws-smithy-runtime]
 7854  10109   
path = "../aws-smithy-runtime"
 7855  10110   
features = ["client"]
 7856  10111   
version = "1.8.5"
 7857  10112   
 7858  10113   
[dependencies.aws-smithy-runtime-api]
 7859  10114   
path = "../aws-smithy-runtime-api"
 7860  10115   
features = ["client", "http-02x"]
 7861  10116   
version = "1.8.5"
 7862  10117   
 7863  10118   
[dependencies.aws-smithy-types]
 7864  10119   
path = "../aws-smithy-types"
 7865  10120   
version = "1.3.2"
 7866  10121   
 7867  10122   
[dependencies.aws-smithy-xml]
 7868  10123   
path = "../aws-smithy-xml"
 7869  10124   
version = "0.60.10"
 7870  10125   
 7871  10126   
[dependencies.aws-types]
 7872  10127   
path = "../aws-types"
 7873  10128   
version = "1.3.8"
 7874  10129   
 7875  10130   
[dependencies.fastrand]
 7876  10131   
version = "2.0.0"
 7877  10132   
 7878  10133   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 7879  10134   
index 2cde182..fc367f4 100644
 7880         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
       10135  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 7881  10136   
@@ -1,61 +1,61 @@
 7882  10137   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7883  10138   
[package]
 7884  10139   
name = "aws-sdk-sso"
 7885  10140   
version = "0.0.0-local"
 7886  10141   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7887  10142   
description = "AWS SDK for AWS Single Sign-On"
 7888  10143   
edition = "2021"
 7889  10144   
license = "Apache-2.0"
 7890  10145   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7891  10146   
rust-version = "1.86.0"
 7892  10147   
readme = "README.md"
 7893  10148   
[package.metadata.smithy]
 7894  10149   
codegen-version = "ci"
 7895  10150   
[package.metadata.docs.rs]
 7896  10151   
all-features = true
 7897  10152   
targets = ["x86_64-unknown-linux-gnu"]
 7898  10153   
[dependencies.aws-credential-types]
 7899  10154   
path = "../aws-credential-types"
 7900  10155   
version = "1.2.4"
 7901  10156   
 7902  10157   
[dependencies.aws-runtime]
 7903  10158   
path = "../aws-runtime"
 7904  10159   
version = "1.5.9"
 7905  10160   
 7906  10161   
[dependencies.aws-smithy-async]
 7907  10162   
path = "../aws-smithy-async"
 7908  10163   
version = "1.2.5"
 7909  10164   
 7910  10165   
[dependencies.aws-smithy-http]
 7911  10166   
path = "../aws-smithy-http"
 7912         -
version = "0.62.2"
       10167  +
version = "0.62.3"
 7913  10168   
 7914  10169   
[dependencies.aws-smithy-json]
 7915  10170   
path = "../aws-smithy-json"
 7916  10171   
version = "0.61.4"
 7917  10172   
 7918  10173   
[dependencies.aws-smithy-runtime]
 7919  10174   
path = "../aws-smithy-runtime"
 7920  10175   
features = ["client"]
 7921  10176   
version = "1.8.5"
 7922  10177   
 7923  10178   
[dependencies.aws-smithy-runtime-api]
 7924  10179   
path = "../aws-smithy-runtime-api"
 7925  10180   
features = ["client", "http-02x"]
 7926  10181   
version = "1.8.5"
 7927  10182   
 7928  10183   
[dependencies.aws-smithy-types]
 7929  10184   
path = "../aws-smithy-types"
 7930  10185   
version = "1.3.2"
 7931  10186   
 7932  10187   
[dependencies.aws-types]
 7933  10188   
path = "../aws-types"
 7934  10189   
version = "1.3.8"
 7935  10190   
 7936  10191   
[dependencies.bytes]
 7937  10192   
version = "1.4.0"
 7938  10193   
 7939  10194   
[dependencies.fastrand]
 7940  10195   
version = "2.0.0"
 7941  10196   
 7942  10197   
[dependencies.http]
 7943  10198   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 7944  10199   
index 7a34c16..588d0bd 100644
 7945         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
       10200  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 7946  10201   
@@ -1,61 +1,61 @@
 7947  10202   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7948  10203   
[package]
 7949  10204   
name = "aws-sdk-ssooidc"
 7950  10205   
version = "0.0.0-local"
 7951  10206   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7952  10207   
description = "AWS SDK for AWS SSO OIDC"
 7953  10208   
edition = "2021"
 7954  10209   
license = "Apache-2.0"
 7955  10210   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7956  10211   
rust-version = "1.86.0"
 7957  10212   
readme = "README.md"
 7958  10213   
[package.metadata.smithy]
 7959  10214   
codegen-version = "ci"
 7960  10215   
[package.metadata.docs.rs]
 7961  10216   
all-features = true
 7962  10217   
targets = ["x86_64-unknown-linux-gnu"]
 7963  10218   
[dependencies.aws-credential-types]
 7964  10219   
path = "../aws-credential-types"
 7965  10220   
version = "1.2.4"
 7966  10221   
 7967  10222   
[dependencies.aws-runtime]
 7968  10223   
path = "../aws-runtime"
 7969  10224   
version = "1.5.9"
 7970  10225   
 7971  10226   
[dependencies.aws-smithy-async]
 7972  10227   
path = "../aws-smithy-async"
 7973  10228   
version = "1.2.5"
 7974  10229   
 7975  10230   
[dependencies.aws-smithy-http]
 7976  10231   
path = "../aws-smithy-http"
 7977         -
version = "0.62.2"
       10232  +
version = "0.62.3"
 7978  10233   
 7979  10234   
[dependencies.aws-smithy-json]
 7980  10235   
path = "../aws-smithy-json"
 7981  10236   
version = "0.61.4"
 7982  10237   
 7983  10238   
[dependencies.aws-smithy-runtime]
 7984  10239   
path = "../aws-smithy-runtime"
 7985  10240   
features = ["client"]
 7986  10241   
version = "1.8.5"
 7987  10242   
 7988  10243   
[dependencies.aws-smithy-runtime-api]
 7989  10244   
path = "../aws-smithy-runtime-api"
 7990  10245   
features = ["client", "http-02x"]
 7991  10246   
version = "1.8.5"
 7992  10247   
 7993  10248   
[dependencies.aws-smithy-types]
 7994  10249   
path = "../aws-smithy-types"
 7995  10250   
version = "1.3.2"
 7996  10251   
 7997  10252   
[dependencies.aws-types]
 7998  10253   
path = "../aws-types"
 7999  10254   
version = "1.3.8"
 8000  10255   
 8001  10256   
[dependencies.bytes]
 8002  10257   
version = "1.4.0"
 8003  10258   
 8004  10259   
[dependencies.fastrand]
 8005  10260   
version = "2.0.0"
 8006  10261   
 8007  10262   
[dependencies.http]
 8008  10263   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 8009  10264   
index 895dfb3..f2ce34e 100644
 8010         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
       10265  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 8011  10266   
@@ -1,61 +1,61 @@
 8012  10267   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8013  10268   
[package]
 8014  10269   
name = "aws-sdk-sts"
 8015  10270   
version = "0.0.0-local"
 8016  10271   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8017  10272   
description = "AWS SDK for AWS Security Token Service"
 8018  10273   
edition = "2021"
 8019  10274   
license = "Apache-2.0"
 8020  10275   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8021  10276   
rust-version = "1.86.0"
 8022  10277   
readme = "README.md"
 8023  10278   
[package.metadata.smithy]
 8024  10279   
codegen-version = "ci"
 8025  10280   
[package.metadata.docs.rs]
 8026  10281   
all-features = true
 8027  10282   
targets = ["x86_64-unknown-linux-gnu"]
 8028  10283   
[dependencies.aws-credential-types]
 8029  10284   
path = "../aws-credential-types"
 8030  10285   
version = "1.2.4"
 8031  10286   
 8032  10287   
[dependencies.aws-runtime]
 8033  10288   
path = "../aws-runtime"
 8034  10289   
version = "1.5.9"
 8035  10290   
 8036  10291   
[dependencies.aws-smithy-async]
 8037  10292   
path = "../aws-smithy-async"
 8038  10293   
version = "1.2.5"
 8039  10294   
 8040  10295   
[dependencies.aws-smithy-http]
 8041  10296   
path = "../aws-smithy-http"
 8042         -
version = "0.62.2"
       10297  +
version = "0.62.3"
 8043  10298   
 8044  10299   
[dependencies.aws-smithy-json]
 8045  10300   
path = "../aws-smithy-json"
 8046  10301   
version = "0.61.4"
 8047  10302   
 8048  10303   
[dependencies.aws-smithy-query]
 8049  10304   
path = "../aws-smithy-query"
 8050  10305   
version = "0.60.7"
 8051  10306   
 8052  10307   
[dependencies.aws-smithy-runtime]
 8053  10308   
path = "../aws-smithy-runtime"
 8054  10309   
features = ["client"]
 8055  10310   
version = "1.8.5"
 8056  10311   
 8057  10312   
[dependencies.aws-smithy-runtime-api]
 8058  10313   
path = "../aws-smithy-runtime-api"
 8059  10314   
features = ["client", "http-02x"]
 8060  10315   
version = "1.8.5"
 8061  10316   
 8062  10317   
[dependencies.aws-smithy-types]
 8063  10318   
path = "../aws-smithy-types"
 8064  10319   
version = "1.3.2"
 8065  10320   
 8066  10321   
[dependencies.aws-smithy-xml]
 8067  10322   
path = "../aws-smithy-xml"
 8068  10323   
version = "0.60.10"
 8069  10324   
 8070  10325   
[dependencies.aws-types]
 8071  10326   
path = "../aws-types"
 8072  10327   
version = "1.3.8"
 8073  10328   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 8074  10329   
index d556561..91178b6 100644
 8075         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
       10330  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 8076  10331   
@@ -1,61 +1,61 @@
 8077  10332   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8078  10333   
[package]
 8079  10334   
name = "aws-sdk-timestreamquery"
 8080  10335   
version = "0.0.0-local"
 8081  10336   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8082  10337   
description = "AWS SDK for Amazon Timestream Query"
 8083  10338   
edition = "2021"
 8084  10339   
license = "Apache-2.0"
 8085  10340   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8086  10341   
rust-version = "1.86.0"
 8087  10342   
readme = "README.md"
 8088  10343   
[package.metadata.smithy]
 8089  10344   
codegen-version = "ci"
 8090  10345   
[package.metadata.docs.rs]
 8091  10346   
all-features = true
 8092  10347   
targets = ["x86_64-unknown-linux-gnu"]
 8093  10348   
[dependencies.aws-credential-types]
 8094  10349   
path = "../aws-credential-types"
 8095  10350   
version = "1.2.4"
 8096  10351   
 8097  10352   
[dependencies.aws-runtime]
 8098  10353   
path = "../aws-runtime"
 8099  10354   
version = "1.5.9"
 8100  10355   
 8101  10356   
[dependencies.aws-smithy-async]
 8102  10357   
path = "../aws-smithy-async"
 8103  10358   
version = "1.2.5"
 8104  10359   
 8105  10360   
[dependencies.aws-smithy-http]
 8106  10361   
path = "../aws-smithy-http"
 8107         -
version = "0.62.2"
       10362  +
version = "0.62.3"
 8108  10363   
 8109  10364   
[dependencies.aws-smithy-json]
 8110  10365   
path = "../aws-smithy-json"
 8111  10366   
version = "0.61.4"
 8112  10367   
 8113  10368   
[dependencies.aws-smithy-runtime]
 8114  10369   
path = "../aws-smithy-runtime"
 8115  10370   
features = ["client"]
 8116  10371   
version = "1.8.5"
 8117  10372   
 8118  10373   
[dependencies.aws-smithy-runtime-api]
 8119  10374   
path = "../aws-smithy-runtime-api"
 8120  10375   
features = ["client", "http-02x"]
 8121  10376   
version = "1.8.5"
 8122  10377   
 8123  10378   
[dependencies.aws-smithy-types]
 8124  10379   
path = "../aws-smithy-types"
 8125  10380   
version = "1.3.2"
 8126  10381   
 8127  10382   
[dependencies.aws-types]
 8128  10383   
path = "../aws-types"
 8129  10384   
version = "1.3.8"
 8130  10385   
 8131  10386   
[dependencies.bytes]
 8132  10387   
version = "1.4.0"
 8133  10388   
 8134  10389   
[dependencies.fastrand]
 8135  10390   
version = "2.0.0"
 8136  10391   
 8137  10392   
[dependencies.http]
 8138  10393   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 8139  10394   
index 0c56e4c..95731e3 100644
 8140         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
       10395  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 8141  10396   
@@ -1,61 +1,61 @@
 8142  10397   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8143  10398   
[package]
 8144  10399   
name = "aws-sdk-timestreamwrite"
 8145  10400   
version = "0.0.0-local"
 8146  10401   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8147  10402   
description = "AWS SDK for Amazon Timestream Write"
 8148  10403   
edition = "2021"
 8149  10404   
license = "Apache-2.0"
 8150  10405   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8151  10406   
rust-version = "1.86.0"
 8152  10407   
readme = "README.md"
 8153  10408   
[package.metadata.smithy]
 8154  10409   
codegen-version = "ci"
 8155  10410   
[package.metadata.docs.rs]
 8156  10411   
all-features = true
 8157  10412   
targets = ["x86_64-unknown-linux-gnu"]
 8158  10413   
[dependencies.aws-credential-types]
 8159  10414   
path = "../aws-credential-types"
 8160  10415   
version = "1.2.4"
 8161  10416   
 8162  10417   
[dependencies.aws-runtime]
 8163  10418   
path = "../aws-runtime"
 8164  10419   
version = "1.5.9"
 8165  10420   
 8166  10421   
[dependencies.aws-smithy-async]
 8167  10422   
path = "../aws-smithy-async"
 8168  10423   
version = "1.2.5"
 8169  10424   
 8170  10425   
[dependencies.aws-smithy-http]
 8171  10426   
path = "../aws-smithy-http"
 8172         -
version = "0.62.2"
       10427  +
version = "0.62.3"
 8173  10428   
 8174  10429   
[dependencies.aws-smithy-json]
 8175  10430   
path = "../aws-smithy-json"
 8176  10431   
version = "0.61.4"
 8177  10432   
 8178  10433   
[dependencies.aws-smithy-runtime]
 8179  10434   
path = "../aws-smithy-runtime"
 8180  10435   
features = ["client"]
 8181  10436   
version = "1.8.5"
 8182  10437   
 8183  10438   
[dependencies.aws-smithy-runtime-api]
 8184  10439   
path = "../aws-smithy-runtime-api"
 8185  10440   
features = ["client", "http-02x"]
 8186  10441   
version = "1.8.5"
 8187  10442   
 8188  10443   
[dependencies.aws-smithy-types]
 8189  10444   
path = "../aws-smithy-types"
 8190  10445   
version = "1.3.2"
 8191  10446   
 8192  10447   
[dependencies.aws-types]
 8193  10448   
path = "../aws-types"
 8194  10449   
version = "1.3.8"
 8195  10450   
 8196  10451   
[dependencies.bytes]
 8197  10452   
version = "1.4.0"
 8198  10453   
 8199  10454   
[dependencies.fastrand]
 8200  10455   
version = "2.0.0"
 8201  10456   
 8202  10457   
[dependencies.http]
 8203  10458   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 8204  10459   
index 5b35037..9fb220a 100644
 8205         -
-- a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
       10460  +
++ b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 8206  10461   
@@ -1,71 +1,71 @@
 8207  10462   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8208  10463   
[package]
 8209  10464   
name = "aws-sdk-transcribestreaming"
 8210  10465   
version = "0.0.0-local"
 8211  10466   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8212  10467   
description = "AWS SDK for Amazon Transcribe Streaming Service"
 8213  10468   
edition = "2021"
 8214  10469   
license = "Apache-2.0"
 8215  10470   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8216  10471   
rust-version = "1.86.0"
 8217  10472   
readme = "README.md"
 8218  10473   
[package.metadata.smithy]
 8219  10474   
codegen-version = "ci"
 8220  10475   
[package.metadata.docs.rs]
 8221  10476   
all-features = true
 8222  10477   
targets = ["x86_64-unknown-linux-gnu"]
 8223  10478   
[dependencies.aws-credential-types]
 8224  10479   
path = "../aws-credential-types"
 8225  10480   
version = "1.2.4"
 8226  10481   
 8227  10482   
[dependencies.aws-runtime]
 8228  10483   
path = "../aws-runtime"
 8229  10484   
features = ["event-stream"]
 8230  10485   
version = "1.5.9"
 8231  10486   
 8232  10487   
[dependencies.aws-sigv4]
 8233  10488   
path = "../aws-sigv4"
 8234         -
version = "1.3.3"
       10489  +
version = "1.3.4"
 8235  10490   
 8236  10491   
[dependencies.aws-smithy-async]
 8237  10492   
path = "../aws-smithy-async"
 8238  10493   
version = "1.2.5"
 8239  10494   
 8240  10495   
[dependencies.aws-smithy-eventstream]
 8241  10496   
path = "../aws-smithy-eventstream"
 8242  10497   
version = "0.60.10"
 8243  10498   
 8244  10499   
[dependencies.aws-smithy-http]
 8245  10500   
path = "../aws-smithy-http"
 8246  10501   
features = ["event-stream"]
 8247         -
version = "0.62.2"
       10502  +
version = "0.62.3"
 8248  10503   
 8249  10504   
[dependencies.aws-smithy-json]
 8250  10505   
path = "../aws-smithy-json"
 8251  10506   
version = "0.61.4"
 8252  10507   
 8253  10508   
[dependencies.aws-smithy-runtime]
 8254  10509   
path = "../aws-smithy-runtime"
 8255  10510   
features = ["client"]
 8256  10511   
version = "1.8.5"
 8257  10512