apollo-datasource-http
Advanced tools
Comparing version 0.17.1 to 0.18.0
@@ -27,3 +27,3 @@ "use strict"; | ||
constructor(baseURL, options) { | ||
var _a, _b, _c; | ||
var _a, _b, _c, _d, _e; | ||
super(); | ||
@@ -34,4 +34,5 @@ this.baseURL = baseURL; | ||
maxSize: ((_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.lru) === null || _b === void 0 ? void 0 : _b.maxSize) ? this.options.lru.maxSize : 100, | ||
maxAge: (_d = (_c = this.options) === null || _c === void 0 ? void 0 : _c.lru) === null || _d === void 0 ? void 0 : _d.maxAge, | ||
}); | ||
this.pool = (_c = options === null || options === void 0 ? void 0 : options.pool) !== null && _c !== void 0 ? _c : new undici_1.Pool(this.baseURL, options === null || options === void 0 ? void 0 : options.clientOptions); | ||
this.pool = (_e = options === null || options === void 0 ? void 0 : options.pool) !== null && _e !== void 0 ? _e : new undici_1.Pool(this.baseURL, options === null || options === void 0 ? void 0 : options.clientOptions); | ||
this.globalRequestOptions = options === null || options === void 0 ? void 0 : options.requestOptions; | ||
@@ -58,3 +59,3 @@ this.logger = options === null || options === void 0 ? void 0 : options.logger; | ||
isResponseOk(statusCode) { | ||
return (statusCode >= 200 && statusCode <= 399) || statusCode === 304; | ||
return statusCode >= 200 && statusCode <= 399; | ||
} | ||
@@ -191,7 +192,7 @@ isResponseCacheable(request, response) { | ||
} | ||
throw apollo_server_errors_1.toApolloError(error); | ||
throw (0, apollo_server_errors_1.toApolloError)(error); | ||
} | ||
} | ||
async request(request) { | ||
var _a; | ||
var _a, _b; | ||
if (Object.keys(request.query).length > 0) { | ||
@@ -209,5 +210,10 @@ request.path = request.path + '?' + this.buildQueryString(request.query); | ||
} | ||
const headers = { | ||
...(((_a = this.globalRequestOptions) === null || _a === void 0 ? void 0 : _a.headers) || {}), | ||
...request.headers, | ||
}; | ||
const options = { | ||
...request, | ||
...this.globalRequestOptions, | ||
headers, | ||
}; | ||
@@ -229,3 +235,3 @@ if (options.method === 'GET') { | ||
catch (error) { | ||
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.error(`Cache item '${cacheKey}' could not be loaded: ${error.message}`); | ||
(_b = this.logger) === null || _b === void 0 ? void 0 : _b.error(`Cache item '${cacheKey}' could not be loaded: ${error.message}`); | ||
} | ||
@@ -232,0 +238,0 @@ } |
{ | ||
"name": "apollo-datasource-http", | ||
"version": "0.17.1", | ||
"version": "0.18.0", | ||
"author": "Dustin Deus <deusdustin@gmail.com>", | ||
@@ -53,24 +53,29 @@ "license": "MIT", | ||
"@alloc/quick-lru": "^5.2.0", | ||
"apollo-datasource": "^0.9.0", | ||
"apollo-server-caching": "^0.7.0", | ||
"apollo-server-errors": "^2.5.0", | ||
"apollo-server-types": "^0.9.0", | ||
"graphql": "^15.5.1", | ||
"undici": "^4.4.2" | ||
"apollo-datasource": "^3.3.0", | ||
"apollo-server-caching": "^3.3.0", | ||
"apollo-server-errors": "^3.3.0", | ||
"apollo-server-types": "^3.4.0", | ||
"undici": "^4.12.1" | ||
}, | ||
"peerDependencies": { | ||
"graphql": "^15.3.0 || ^16.0.0" | ||
}, | ||
"devDependencies": { | ||
"@sinonjs/fake-timers": "^8.1.0", | ||
"@tsconfig/node12": "^1.0.9", | ||
"@types/node": "^14.17.3", | ||
"@types/node": "^17.0.5", | ||
"@types/sinonjs__fake-timers": "^8.1.1", | ||
"abort-controller": "^3.0.0", | ||
"apollo-datasource-rest": "^0.14.0", | ||
"apollo-datasource-rest": "^3.4.0", | ||
"ava": "^3.15.0", | ||
"graphql": "^16.2.0", | ||
"h2url": "^0.2.0", | ||
"nock": "^13.1.1", | ||
"nock": "^13.2.1", | ||
"nyc": "^15.1.0", | ||
"prettier": "^2.3.2", | ||
"release-it": "^14.11.3", | ||
"ts-node": "^10.2.0", | ||
"typescript": "^4.3.5", | ||
"prettier": "^2.5.1", | ||
"release-it": "^14.11.8", | ||
"ts-node": "^10.4.0", | ||
"typescript": "^4.5.4", | ||
"uid": "^2.0.0" | ||
} | ||
} |
@@ -7,3 +7,3 @@ # Apollo HTTP Data Source | ||
- Uses [Undici](https://github.com/nodejs/undici) under the hood. It's around `54%` faster than `apollo-datasource-rest` | ||
- Uses [Undici](https://github.com/nodejs/undici) under the hood. It's around `56%` faster than `apollo-datasource-rest` | ||
- Request Deduplication (LRU), Request Cache (TTL) and `stale-if-error` Cache (TTL) | ||
@@ -113,4 +113,4 @@ - Support [AbortController ](https://github.com/mysticatea/abort-controller) to manually cancel all running requests | ||
requestCache: { | ||
maxTtl: 1000 * 60 * 10, // 10min, will respond for 10min with the cached result (updated every 10min) | ||
maxTtlIfError: 1000 * 60 * 30, // 30min, will respond with the cached response in case of an error (for further 20min) | ||
maxTtl: 10 * 60, // 10min, will respond for 10min with the cached result (updated every 10min) | ||
maxTtlIfError: 30 * 60, // 30min, will respond with the cached response in case of an error (for further 20min) | ||
}, | ||
@@ -117,0 +117,0 @@ }) |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
32755
329
16
+ Added@apollo/protobufjs@1.2.6(transitive)
+ Added@apollo/utils.keyvaluecache@1.0.2(transitive)
+ Added@apollo/utils.logger@1.0.1(transitive)
+ Addedapollo-datasource@3.3.2(transitive)
+ Addedapollo-reporting-protobuf@3.4.0(transitive)
+ Addedapollo-server-caching@3.3.0(transitive)
+ Addedapollo-server-env@4.2.1(transitive)
+ Addedapollo-server-errors@3.3.1(transitive)
+ Addedapollo-server-types@3.8.0(transitive)
+ Addedgraphql@16.9.0(transitive)
+ Addedlru-cache@7.13.1(transitive)
- Removedgraphql@^15.5.1
- Removed@apollo/protobufjs@1.2.2(transitive)
- Removedapollo-datasource@0.9.0(transitive)
- Removedapollo-reporting-protobuf@0.8.0(transitive)
- Removedapollo-server-caching@0.7.0(transitive)
- Removedapollo-server-env@3.2.0(transitive)
- Removedapollo-server-errors@2.5.0(transitive)
- Removedapollo-server-types@0.9.0(transitive)
- Removedarray-buffer-byte-length@1.0.1(transitive)
- Removedarray.prototype.reduce@1.0.7(transitive)
- Removedarraybuffer.prototype.slice@1.0.3(transitive)
- Removedavailable-typed-arrays@1.0.7(transitive)
- Removedcall-bind@1.0.7(transitive)
- Removeddata-view-buffer@1.0.1(transitive)
- Removeddata-view-byte-length@1.0.1(transitive)
- Removeddata-view-byte-offset@1.0.0(transitive)
- Removeddefine-data-property@1.1.4(transitive)
- Removeddefine-properties@1.2.1(transitive)
- Removedes-abstract@1.23.3(transitive)
- Removedes-array-method-boxes-properly@1.0.0(transitive)
- Removedes-define-property@1.0.0(transitive)
- Removedes-errors@1.3.0(transitive)
- Removedes-object-atoms@1.0.0(transitive)
- Removedes-set-tostringtag@2.0.3(transitive)
- Removedes-to-primitive@1.2.1(transitive)
- Removedfor-each@0.3.3(transitive)
- Removedfunction-bind@1.1.2(transitive)
- Removedfunction.prototype.name@1.1.6(transitive)
- Removedfunctions-have-names@1.2.3(transitive)
- Removedget-intrinsic@1.2.4(transitive)
- Removedget-symbol-description@1.0.2(transitive)
- Removedglobalthis@1.0.4(transitive)
- Removedgopd@1.0.1(transitive)
- Removedgraphql@15.9.0(transitive)
- Removedhas-bigints@1.0.2(transitive)
- Removedhas-property-descriptors@1.0.2(transitive)
- Removedhas-proto@1.0.3(transitive)
- Removedhas-symbols@1.0.3(transitive)
- Removedhas-tostringtag@1.0.2(transitive)
- Removedhasown@2.0.2(transitive)
- Removedinternal-slot@1.0.7(transitive)
- Removedis-array-buffer@3.0.4(transitive)
- Removedis-bigint@1.0.4(transitive)
- Removedis-boolean-object@1.1.2(transitive)
- Removedis-callable@1.2.7(transitive)
- Removedis-data-view@1.0.1(transitive)
- Removedis-date-object@1.0.5(transitive)
- Removedis-negative-zero@2.0.3(transitive)
- Removedis-number-object@1.0.7(transitive)
- Removedis-regex@1.1.4(transitive)
- Removedis-shared-array-buffer@1.0.3(transitive)
- Removedis-string@1.0.7(transitive)
- Removedis-symbol@1.0.4(transitive)
- Removedis-typed-array@1.1.13(transitive)
- Removedis-weakref@1.0.2(transitive)
- Removedisarray@2.0.5(transitive)
- Removedobject-inspect@1.13.2(transitive)
- Removedobject-keys@1.1.1(transitive)
- Removedobject.assign@4.1.5(transitive)
- Removedobject.getownpropertydescriptors@2.1.8(transitive)
- Removedpossible-typed-array-names@1.0.0(transitive)
- Removedregexp.prototype.flags@1.5.2(transitive)
- Removedsafe-array-concat@1.1.2(transitive)
- Removedsafe-regex-test@1.0.3(transitive)
- Removedset-function-length@1.2.2(transitive)
- Removedset-function-name@2.0.2(transitive)
- Removedside-channel@1.0.6(transitive)
- Removedstring.prototype.trim@1.2.9(transitive)
- Removedstring.prototype.trimend@1.0.8(transitive)
- Removedstring.prototype.trimstart@1.0.8(transitive)
- Removedtyped-array-buffer@1.0.2(transitive)
- Removedtyped-array-byte-length@1.0.1(transitive)
- Removedtyped-array-byte-offset@1.0.2(transitive)
- Removedtyped-array-length@1.0.6(transitive)
- Removedunbox-primitive@1.0.2(transitive)
- Removedutil.promisify@1.1.2(transitive)
- Removedwhich-boxed-primitive@1.0.2(transitive)
- Removedwhich-typed-array@1.1.15(transitive)
Updatedapollo-datasource@^3.3.0
Updatedapollo-server-caching@^3.3.0
Updatedapollo-server-errors@^3.3.0
Updatedapollo-server-types@^3.4.0
Updatedundici@^4.12.1