'use strict' const { test } = require('tap') const { Client, errors } = require('..') test('invalid headers', (t) => { t.plan(10) const client = new Client('http://localhost:3000') t.teardown(client.destroy.bind(client)) client.request({ path: '/', method: 'GET', headers: { 'content-length': 'asd' } }, (err, data) => { t.type(err, errors.InvalidArgumentError) }) client.request({ path: '/', method: 'GET', headers: 1 }, (err, data) => { t.type(err, errors.InvalidArgumentError) }) client.request({ path: '/', method: 'GET', headers: { 'transfer-encoding': 'chunked' } }, (err, data) => { t.type(err, errors.InvalidArgumentError) }) client.request({ path: '/', method: 'GET', headers: { upgrade: 'asd' } }, (err, data) => { t.type(err, errors.InvalidArgumentError) }) client.request({ path: '/', method: 'GET', headers: { connection: 'asd' } }, (err, data) => { t.type(err, errors.InvalidArgumentError) }) client.request({ path: '/', method: 'GET', headers: { 'keep-alive': 'timeout=5' } }, (err, data) => { t.type(err, errors.InvalidArgumentError) }) client.request({ path: '/', method: 'GET', headers: { foo: {} } }, (err, data) => { t.type(err, errors.InvalidArgumentError) }) client.request({ path: '/', method: 'GET', headers: { expect: '100-continue' } }, (err, data) => { t.type(err, errors.NotSupportedError) }) client.request({ path: '/', method: 'GET', headers: { Expect: '100-continue' } }, (err, data) => { t.type(err, errors.NotSupportedError) }) client.request({ path: '/', method: 'GET', headers: { expect: 'asd' } }, (err, data) => { t.type(err, errors.NotSupportedError) }) })