11cb0ef41Sopenharmony_ci'use strict';
21cb0ef41Sopenharmony_ci
31cb0ef41Sopenharmony_cirequire('../common');
41cb0ef41Sopenharmony_ciconst assert = require('assert');
51cb0ef41Sopenharmony_ciconst { createServer } = require('http');
61cb0ef41Sopenharmony_ci
71cb0ef41Sopenharmony_ci// This test validates that the HTTP server timeouts are properly validated and set.
81cb0ef41Sopenharmony_ci
91cb0ef41Sopenharmony_ci{
101cb0ef41Sopenharmony_ci  const server = createServer();
111cb0ef41Sopenharmony_ci  assert.strictEqual(server.headersTimeout, 60000);
121cb0ef41Sopenharmony_ci  assert.strictEqual(server.requestTimeout, 300000);
131cb0ef41Sopenharmony_ci}
141cb0ef41Sopenharmony_ci
151cb0ef41Sopenharmony_ci{
161cb0ef41Sopenharmony_ci  const server = createServer({ headersTimeout: 10000, requestTimeout: 20000 });
171cb0ef41Sopenharmony_ci  assert.strictEqual(server.headersTimeout, 10000);
181cb0ef41Sopenharmony_ci  assert.strictEqual(server.requestTimeout, 20000);
191cb0ef41Sopenharmony_ci}
201cb0ef41Sopenharmony_ci
211cb0ef41Sopenharmony_ci{
221cb0ef41Sopenharmony_ci  const server = createServer({ headersTimeout: 10000, requestTimeout: 10000 });
231cb0ef41Sopenharmony_ci  assert.strictEqual(server.headersTimeout, 10000);
241cb0ef41Sopenharmony_ci  assert.strictEqual(server.requestTimeout, 10000);
251cb0ef41Sopenharmony_ci}
261cb0ef41Sopenharmony_ci
271cb0ef41Sopenharmony_ci{
281cb0ef41Sopenharmony_ci  const server = createServer({ headersTimeout: 10000 });
291cb0ef41Sopenharmony_ci  assert.strictEqual(server.headersTimeout, 10000);
301cb0ef41Sopenharmony_ci  assert.strictEqual(server.requestTimeout, 300000);
311cb0ef41Sopenharmony_ci}
321cb0ef41Sopenharmony_ci
331cb0ef41Sopenharmony_ci{
341cb0ef41Sopenharmony_ci  const server = createServer({ requestTimeout: 20000 });
351cb0ef41Sopenharmony_ci  assert.strictEqual(server.headersTimeout, 20000);
361cb0ef41Sopenharmony_ci  assert.strictEqual(server.requestTimeout, 20000);
371cb0ef41Sopenharmony_ci}
381cb0ef41Sopenharmony_ci
391cb0ef41Sopenharmony_ci{
401cb0ef41Sopenharmony_ci  const server = createServer({ requestTimeout: 100000 });
411cb0ef41Sopenharmony_ci  assert.strictEqual(server.headersTimeout, 60000);
421cb0ef41Sopenharmony_ci  assert.strictEqual(server.requestTimeout, 100000);
431cb0ef41Sopenharmony_ci}
441cb0ef41Sopenharmony_ci
451cb0ef41Sopenharmony_ci{
461cb0ef41Sopenharmony_ci  assert.throws(
471cb0ef41Sopenharmony_ci    () => createServer({ headersTimeout: 10000, requestTimeout: 1000 }),
481cb0ef41Sopenharmony_ci    { code: 'ERR_OUT_OF_RANGE' }
491cb0ef41Sopenharmony_ci  );
501cb0ef41Sopenharmony_ci}
51