Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
9a0f32323e | |||
f952abc95a |
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ztimson/utils",
|
||||
"version": "0.23.20",
|
||||
"version": "0.23.22",
|
||||
"description": "Utility library",
|
||||
"author": "Zak Timson",
|
||||
"license": "MIT",
|
||||
@ -14,9 +14,9 @@
|
||||
"types": "./dist/index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"types": "./dist/index.d.ts",
|
||||
"import": "./dist/index.mjs",
|
||||
"require": "./dist/index.cjs",
|
||||
"types": "./dist/index.d.ts"
|
||||
"require": "./dist/index.cjs"
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
@ -34,7 +34,7 @@
|
||||
"typedoc": "^0.26.7",
|
||||
"typescript": "^5.3.3",
|
||||
"vite": "^5.0.12",
|
||||
"vite-plugin-dts": "^3.7.2"
|
||||
"vite-plugin-dts": "^4.5.3"
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
|
13
src/http.ts
13
src/http.ts
@ -30,7 +30,13 @@ class HttpResponse<T = any> extends Response {
|
||||
url!: string;
|
||||
|
||||
constructor(resp: Response, stream: ReadableStream) {
|
||||
super(stream, {headers: resp.headers, status: resp.status, statusText: resp.statusText});
|
||||
const body = [204, 205, 304].includes(resp.status) ? null : stream;
|
||||
super(body, {
|
||||
headers: resp.headers,
|
||||
status: resp.status,
|
||||
statusText: resp.statusText,
|
||||
});
|
||||
|
||||
this.ok = resp.ok;
|
||||
this.redirected = resp.redirected;
|
||||
this.type = resp.type;
|
||||
@ -70,8 +76,9 @@ export class Http {
|
||||
|
||||
request<T>(opts: HttpRequestOptions = {}): PromiseProgress<DecodedResponse<T>> {
|
||||
if(!this.url && !opts.url) throw new Error('URL needs to be set');
|
||||
let url = (opts.url?.startsWith('http') ? opts.url : (this.url || '') + (opts.url || '')).replace(/([^:]\/)\/+/g, '$1');
|
||||
if(opts.fragment) url.includes('#') ? url.replace(/#.*(\?|\n)/g, (match, arg1) => `#${opts.fragment}${arg1}`) : url += '#' + opts.fragment;
|
||||
let url = opts.url?.startsWith('http') ? opts.url : (this.url || '') + (opts.url || '');
|
||||
url = url.replaceAll(/([^:]\/)\/+/g, '$1');
|
||||
if(opts.fragment) url.includes('#') ? url.replace(/#.*(\?|\n)/g, (match, arg1) => `#${opts.fragment}${arg1}`) : `${url}#${opts.fragment}`;
|
||||
if(opts.query) {
|
||||
const q = Array.isArray(opts.query) ? opts.query :
|
||||
Object.keys(opts.query).map(k => ({key: k, value: (<any>opts.query)[k]}))
|
||||
|
Loading…
x
Reference in New Issue
Block a user