@@ -113,6 +113,22 @@ test('`content-length` header with string body', withServer, async (t, server, g
113
113
t . is ( headers [ 'content-length' ] , '3' ) ;
114
114
} ) ;
115
115
116
+ test ( '`content-length` header with json body' , withServer , async ( t , server , got ) => {
117
+ server . post ( '/' , echoHeaders ) ;
118
+
119
+ const { body} = await got . post ( { json : { foo : 'bar' } } ) ;
120
+ const headers = JSON . parse ( body ) ;
121
+ t . is ( headers [ 'content-length' ] , '13' ) ;
122
+ } ) ;
123
+
124
+ test ( '`content-length` header with form body' , withServer , async ( t , server , got ) => {
125
+ server . post ( '/' , echoHeaders ) ;
126
+
127
+ const { body} = await got . post ( { form : { foo : 'bar' } } ) ;
128
+ const headers = JSON . parse ( body ) ;
129
+ t . is ( headers [ 'content-length' ] , '7' ) ;
130
+ } ) ;
131
+
116
132
test ( '`content-length` header with Buffer body' , withServer , async ( t , server , got ) => {
117
133
server . post ( '/' , echoHeaders ) ;
118
134
@@ -143,6 +159,19 @@ test('`content-length` header is not overriden', withServer, async (t, server, g
143
159
t . is ( headers [ 'content-length' ] , '10' ) ;
144
160
} ) ;
145
161
162
+ test ( '`content-length` header is present when using custom content-type' , withServer , async ( t , server , got ) => {
163
+ server . post ( '/' , echoHeaders ) ;
164
+
165
+ const { body} = await got . post ( {
166
+ json : { foo : 'bar' } ,
167
+ headers : {
168
+ 'content-type' : 'custom'
169
+ }
170
+ } ) ;
171
+ const headers = JSON . parse ( body ) ;
172
+ t . is ( headers [ 'content-length' ] , '13' ) ;
173
+ } ) ;
174
+
146
175
test ( '`content-length` header disabled for chunked transfer-encoding' , withServer , async ( t , server , got ) => {
147
176
server . post ( '/' , echoHeaders ) ;
148
177
0 commit comments