fetch-http2
Advanced tools
Comparing version
@@ -22,10 +22,4 @@ "use strict"; | ||
}); | ||
// Write request body if needed | ||
if (options?.body) { | ||
req.write(options.body); | ||
} | ||
// Send the request | ||
req.end(); | ||
// Fetch the headers | ||
const { headers, status } = await _responseHeaders(req, options); | ||
const { headers, status } = await _sendRequest(req, options); | ||
// Get status text | ||
@@ -82,8 +76,15 @@ const statusText = getStatusText(status); | ||
} | ||
function _responseHeaders(req, options) { | ||
function _sendRequest(req, options) { | ||
return new Promise((resolve, reject) => { | ||
if (options?.timeout) { | ||
// Write request body if needed | ||
if (options && options.body) { | ||
req.write(options.body); | ||
} | ||
// Apply optional timeout | ||
if (options && typeof options.timeout === 'number') { | ||
req.setTimeout(options.timeout, reject); | ||
} | ||
// Add error handler | ||
req.on('error', reject); | ||
// Listen for response headers | ||
req.on('response', (headers) => resolve({ | ||
@@ -93,2 +94,4 @@ headers, | ||
})); | ||
// Send the request | ||
req.end(); | ||
}); | ||
@@ -95,0 +98,0 @@ } |
{ | ||
"name": "fetch-http2", | ||
"version": "1.1.0", | ||
"version": "1.2.1", | ||
"description": "Native http2 fetch implementation for Node.js", | ||
@@ -30,18 +30,15 @@ "author": "Andrew Barba <barba@hey.com>", | ||
], | ||
"dependencies": {}, | ||
"devDependencies": { | ||
"@tsconfig/node16": "^1.0.3", | ||
"@types/chai": "^4.3.4", | ||
"@types/mocha": "^10.0.1", | ||
"@types/node": "^18.11.18", | ||
"@typescript-eslint/eslint-plugin": "^5.48.1", | ||
"@typescript-eslint/parser": "^5.48.1", | ||
"chai": "^4.3.7", | ||
"eslint": "^8.31.0", | ||
"eslint-config-prettier": "^8.6.0", | ||
"eslint-plugin-prettier": "^4.2.1", | ||
"mocha": "^10.2.0", | ||
"prettier": "^2.8.2", | ||
"ts-node": "^10.9.1", | ||
"typescript": "^4.9.4" | ||
"@tsconfig/node16": "^16.1.1", | ||
"@types/chai": "^4.3.6", | ||
"@types/node": "^20.6.0", | ||
"@typescript-eslint/eslint-plugin": "^6.6.0", | ||
"@typescript-eslint/parser": "^6.6.0", | ||
"chai": "^4.3.8", | ||
"eslint": "^8.49.0", | ||
"eslint-config-prettier": "^9.0.0", | ||
"eslint-plugin-prettier": "^5.0.0", | ||
"prettier": "^3.0.3", | ||
"typescript": "^5.2.2", | ||
"vitest": "^0.34.4" | ||
}, | ||
@@ -51,4 +48,4 @@ "scripts": { | ||
"lint": "eslint src test", | ||
"test": "mocha --require ts-node/register --exit --bail --slow 2000 ./test/**/*.test.ts" | ||
"test": "vitest --run --dir test" | ||
} | ||
} |
11171
0.2%12
-14.29%271
1.12%