@libp2p/http-utils 0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +56 -0
- package/dist/index.min.js +50 -0
- package/dist/index.min.js.map +7 -0
- package/dist/src/constants.d.ts +9 -0
- package/dist/src/constants.d.ts.map +1 -0
- package/dist/src/constants.js +78 -0
- package/dist/src/constants.js.map +1 -0
- package/dist/src/index.d.ts +102 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +411 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/request.d.ts +16 -0
- package/dist/src/request.d.ts.map +1 -0
- package/dist/src/request.js +41 -0
- package/dist/src/request.js.map +1 -0
- package/dist/src/response.d.ts +14 -0
- package/dist/src/response.d.ts.map +1 -0
- package/dist/src/response.js +37 -0
- package/dist/src/response.js.map +1 -0
- package/dist/src/stream-to-socket.d.ts +4 -0
- package/dist/src/stream-to-socket.d.ts.map +1 -0
- package/dist/src/stream-to-socket.js +155 -0
- package/dist/src/stream-to-socket.js.map +1 -0
- package/dist/typedoc-urls.json +57 -0
- package/package.json +163 -0
- package/src/constants.ts +77 -0
- package/src/index.ts +561 -0
- package/src/request.ts +44 -0
- package/src/response.ts +40 -0
- package/src/stream-to-socket.ts +200 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const HTTP_PATH_CODEC = 481;
|
|
2
|
+
export declare const HTTP_CODEC = 480;
|
|
3
|
+
export declare const DNS_CODEC = 53;
|
|
4
|
+
export declare const DNS4_CODEC = 54;
|
|
5
|
+
export declare const DNS6_CODEC = 55;
|
|
6
|
+
export declare const DNSADDR_CODEC = 56;
|
|
7
|
+
export declare const DNS_CODECS: number[];
|
|
8
|
+
export declare const STATUS_CODES: Record<string, string>;
|
|
9
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,MAAS,CAAA;AACrC,eAAO,MAAM,UAAU,MAAS,CAAA;AAChC,eAAO,MAAM,SAAS,KAAO,CAAA;AAC7B,eAAO,MAAM,UAAU,KAAO,CAAA;AAC9B,eAAO,MAAM,UAAU,KAAO,CAAA;AAC9B,eAAO,MAAM,aAAa,KAAO,CAAA;AACjC,eAAO,MAAM,UAAU,UAKtB,CAAA;AACD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAgE/C,CAAA"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
export const HTTP_PATH_CODEC = 0x01e1;
|
|
2
|
+
export const HTTP_CODEC = 0x01e0;
|
|
3
|
+
export const DNS_CODEC = 0x35;
|
|
4
|
+
export const DNS4_CODEC = 0x36;
|
|
5
|
+
export const DNS6_CODEC = 0x37;
|
|
6
|
+
export const DNSADDR_CODEC = 0x38;
|
|
7
|
+
export const DNS_CODECS = [
|
|
8
|
+
DNS_CODEC,
|
|
9
|
+
DNS4_CODEC,
|
|
10
|
+
DNS6_CODEC,
|
|
11
|
+
DNSADDR_CODEC
|
|
12
|
+
];
|
|
13
|
+
export const STATUS_CODES = {
|
|
14
|
+
100: 'Continue', // RFC 7231 6.2.1
|
|
15
|
+
101: 'Switching Protocols', // RFC 7231 6.2.2
|
|
16
|
+
102: 'Processing', // RFC 2518 10.1 (obsoleted by RFC 4918)
|
|
17
|
+
103: 'Early Hints', // RFC 8297 2
|
|
18
|
+
200: 'OK', // RFC 7231 6.3.1
|
|
19
|
+
201: 'Created', // RFC 7231 6.3.2
|
|
20
|
+
202: 'Accepted', // RFC 7231 6.3.3
|
|
21
|
+
203: 'Non-Authoritative Information', // RFC 7231 6.3.4
|
|
22
|
+
204: 'No Content', // RFC 7231 6.3.5
|
|
23
|
+
205: 'Reset Content', // RFC 7231 6.3.6
|
|
24
|
+
206: 'Partial Content', // RFC 7233 4.1
|
|
25
|
+
207: 'Multi-Status', // RFC 4918 11.1
|
|
26
|
+
208: 'Already Reported', // RFC 5842 7.1
|
|
27
|
+
226: 'IM Used', // RFC 3229 10.4.1
|
|
28
|
+
300: 'Multiple Choices', // RFC 7231 6.4.1
|
|
29
|
+
301: 'Moved Permanently', // RFC 7231 6.4.2
|
|
30
|
+
302: 'Found', // RFC 7231 6.4.3
|
|
31
|
+
303: 'See Other', // RFC 7231 6.4.4
|
|
32
|
+
304: 'Not Modified', // RFC 7232 4.1
|
|
33
|
+
305: 'Use Proxy', // RFC 7231 6.4.5
|
|
34
|
+
307: 'Temporary Redirect', // RFC 7231 6.4.7
|
|
35
|
+
308: 'Permanent Redirect', // RFC 7238 3
|
|
36
|
+
400: 'Bad Request', // RFC 7231 6.5.1
|
|
37
|
+
401: 'Unauthorized', // RFC 7235 3.1
|
|
38
|
+
402: 'Payment Required', // RFC 7231 6.5.2
|
|
39
|
+
403: 'Forbidden', // RFC 7231 6.5.3
|
|
40
|
+
404: 'Not Found', // RFC 7231 6.5.4
|
|
41
|
+
405: 'Method Not Allowed', // RFC 7231 6.5.5
|
|
42
|
+
406: 'Not Acceptable', // RFC 7231 6.5.6
|
|
43
|
+
407: 'Proxy Authentication Required', // RFC 7235 3.2
|
|
44
|
+
408: 'Request Timeout', // RFC 7231 6.5.7
|
|
45
|
+
409: 'Conflict', // RFC 7231 6.5.8
|
|
46
|
+
410: 'Gone', // RFC 7231 6.5.9
|
|
47
|
+
411: 'Length Required', // RFC 7231 6.5.10
|
|
48
|
+
412: 'Precondition Failed', // RFC 7232 4.2
|
|
49
|
+
413: 'Payload Too Large', // RFC 7231 6.5.11
|
|
50
|
+
414: 'URI Too Long', // RFC 7231 6.5.12
|
|
51
|
+
415: 'Unsupported Media Type', // RFC 7231 6.5.13
|
|
52
|
+
416: 'Range Not Satisfiable', // RFC 7233 4.4
|
|
53
|
+
417: 'Expectation Failed', // RFC 7231 6.5.14
|
|
54
|
+
418: 'I\'m a Teapot', // RFC 7168 2.3.3
|
|
55
|
+
421: 'Misdirected Request', // RFC 7540 9.1.2
|
|
56
|
+
422: 'Unprocessable Entity', // RFC 4918 11.2
|
|
57
|
+
423: 'Locked', // RFC 4918 11.3
|
|
58
|
+
424: 'Failed Dependency', // RFC 4918 11.4
|
|
59
|
+
425: 'Too Early', // RFC 8470 5.2
|
|
60
|
+
426: 'Upgrade Required', // RFC 2817 and RFC 7231 6.5.15
|
|
61
|
+
428: 'Precondition Required', // RFC 6585 3
|
|
62
|
+
429: 'Too Many Requests', // RFC 6585 4
|
|
63
|
+
431: 'Request Header Fields Too Large', // RFC 6585 5
|
|
64
|
+
451: 'Unavailable For Legal Reasons', // RFC 7725 3
|
|
65
|
+
500: 'Internal Server Error', // RFC 7231 6.6.1
|
|
66
|
+
501: 'Not Implemented', // RFC 7231 6.6.2
|
|
67
|
+
502: 'Bad Gateway', // RFC 7231 6.6.3
|
|
68
|
+
503: 'Service Unavailable', // RFC 7231 6.6.4
|
|
69
|
+
504: 'Gateway Timeout', // RFC 7231 6.6.5
|
|
70
|
+
505: 'HTTP Version Not Supported', // RFC 7231 6.6.6
|
|
71
|
+
506: 'Variant Also Negotiates', // RFC 2295 8.1
|
|
72
|
+
507: 'Insufficient Storage', // RFC 4918 11.5
|
|
73
|
+
508: 'Loop Detected', // RFC 5842 7.2
|
|
74
|
+
509: 'Bandwidth Limit Exceeded',
|
|
75
|
+
510: 'Not Extended', // RFC 2774 7
|
|
76
|
+
511: 'Network Authentication Required' // RFC 6585 6
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
*
|
|
4
|
+
* Contains shared code and utilities used by `@libp2p/http-*` modules.
|
|
5
|
+
*/
|
|
6
|
+
import { Uint8ArrayList } from 'uint8arraylist';
|
|
7
|
+
import type { AbortOptions, PeerId, Stream } from '@libp2p/interface';
|
|
8
|
+
import type { Multiaddr } from '@multiformats/multiaddr';
|
|
9
|
+
/**
|
|
10
|
+
* A subset of options passed to middleware
|
|
11
|
+
*/
|
|
12
|
+
export interface MiddlewareOptions extends AbortOptions {
|
|
13
|
+
method: string;
|
|
14
|
+
headers: Headers;
|
|
15
|
+
middleware: Middleware[];
|
|
16
|
+
credentials?: RequestCredentials;
|
|
17
|
+
keepalive?: boolean;
|
|
18
|
+
redirect?: RequestRedirect;
|
|
19
|
+
integrity?: string;
|
|
20
|
+
mode?: RequestMode;
|
|
21
|
+
referrer?: string;
|
|
22
|
+
referrerPolicy?: ReferrerPolicy;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Middleware that allows augmenting the client request/response with additional
|
|
26
|
+
* fields or headers.
|
|
27
|
+
*/
|
|
28
|
+
export interface Middleware {
|
|
29
|
+
/**
|
|
30
|
+
* Called before a request is made
|
|
31
|
+
*/
|
|
32
|
+
prepareRequest?(resource: URL | Multiaddr[], opts: MiddlewareOptions): void | Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Called after a request is made but before the body has been read - the
|
|
35
|
+
* processor may do any necessary housekeeping based on the server response
|
|
36
|
+
*/
|
|
37
|
+
processResponse?(resource: URL | Multiaddr[], opts: MiddlewareOptions, response: Response): void | Promise<void>;
|
|
38
|
+
}
|
|
39
|
+
export declare function toURL(resource: URL | Multiaddr[], headers: Headers): URL;
|
|
40
|
+
/**
|
|
41
|
+
* Normalizes byte-like input to a `Uint8Array`
|
|
42
|
+
*/
|
|
43
|
+
export declare function toUint8Array(obj: DataView | ArrayBuffer | Uint8Array): Uint8Array;
|
|
44
|
+
export declare function streamToRequest(info: HeaderInfo, stream: Stream): globalThis.Request;
|
|
45
|
+
export declare function responseToStream(res: Response, stream: Stream): Promise<void>;
|
|
46
|
+
export declare const NOT_FOUND_RESPONSE: Uint8Array<ArrayBufferLike>;
|
|
47
|
+
export declare const BAD_REQUEST: Uint8Array<ArrayBufferLike>;
|
|
48
|
+
export declare const INTERNAL_SERVER_ERROR: Uint8Array<ArrayBufferLike>;
|
|
49
|
+
export declare const NOT_IMPLEMENTED_ERROR: Uint8Array<ArrayBufferLike>;
|
|
50
|
+
export declare function writeHeaders(headers: Headers): string[];
|
|
51
|
+
/**
|
|
52
|
+
* Attempts to convert the passed `resource` into a HTTP(s) URL or an array of
|
|
53
|
+
* multiaddrs.
|
|
54
|
+
*
|
|
55
|
+
* The returned URL should be handled by the global fetch, the multiaddr(s)
|
|
56
|
+
* should be handled by libp2p.
|
|
57
|
+
*/
|
|
58
|
+
export declare function toResource(resource: string | URL | PeerId | Multiaddr | Multiaddr[], path?: string): URL | Multiaddr[];
|
|
59
|
+
export declare function getHeaders(init?: RequestInit): Headers;
|
|
60
|
+
export declare function getHeader(header: string, headers?: HeadersInit): string | undefined;
|
|
61
|
+
export declare function getHost(addresses: URL | Multiaddr[], headers: Headers): string;
|
|
62
|
+
export declare function stripHTTPPath(addresses: Multiaddr[]): {
|
|
63
|
+
httpPath: string;
|
|
64
|
+
addresses: Multiaddr[];
|
|
65
|
+
};
|
|
66
|
+
export declare function normalizeMethod(method?: string | string[], defaultMethod?: string[]): string[];
|
|
67
|
+
/**
|
|
68
|
+
* Returns a fully qualified URL representing the resource that is being
|
|
69
|
+
* requested
|
|
70
|
+
*/
|
|
71
|
+
export declare function normalizeUrl(req: {
|
|
72
|
+
url?: string;
|
|
73
|
+
headers?: Headers | {
|
|
74
|
+
host?: string;
|
|
75
|
+
};
|
|
76
|
+
}): URL;
|
|
77
|
+
export declare function isWebSocketUpgrade(method: string, headers: Headers): boolean;
|
|
78
|
+
export declare function getServerUpgradeHeaders(headers: Headers | Record<string, string | string[] | undefined>): Promise<Headers>;
|
|
79
|
+
/**
|
|
80
|
+
* Reads HTTP headers from an incoming stream
|
|
81
|
+
*/
|
|
82
|
+
export declare function readHeaders(stream: Stream): Promise<HeaderInfo>;
|
|
83
|
+
/**
|
|
84
|
+
* Parsed from the incoming HTTP message
|
|
85
|
+
*/
|
|
86
|
+
export interface HeaderInfo {
|
|
87
|
+
versionMajor: number;
|
|
88
|
+
versionMinor: number;
|
|
89
|
+
headers: Headers;
|
|
90
|
+
method: string;
|
|
91
|
+
url: string;
|
|
92
|
+
statusCode: number;
|
|
93
|
+
statusMessage: string;
|
|
94
|
+
upgrade: boolean;
|
|
95
|
+
shouldKeepAlive: boolean;
|
|
96
|
+
raw: Uint8ArrayList;
|
|
97
|
+
}
|
|
98
|
+
export * from './request.js';
|
|
99
|
+
export * from './response.js';
|
|
100
|
+
export * from './constants.js';
|
|
101
|
+
export * from './stream-to-socket.js';
|
|
102
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,411 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
*
|
|
4
|
+
* Contains shared code and utilities used by `@libp2p/http-*` modules.
|
|
5
|
+
*/
|
|
6
|
+
import { HTTPParser } from '@achingbrain/http-parser-js';
|
|
7
|
+
import { InvalidParametersError, isPeerId, ProtocolError } from '@libp2p/interface';
|
|
8
|
+
import { peerIdFromString } from '@libp2p/peer-id';
|
|
9
|
+
import { fromStringTuples, isMultiaddr, multiaddr } from '@multiformats/multiaddr';
|
|
10
|
+
import { multiaddrToUri } from '@multiformats/multiaddr-to-uri';
|
|
11
|
+
import { uriToMultiaddr } from '@multiformats/uri-to-multiaddr';
|
|
12
|
+
import { queuelessPushable } from 'it-queueless-pushable';
|
|
13
|
+
import itToBrowserReadableStream from 'it-to-browser-readablestream';
|
|
14
|
+
import { base36 } from 'multiformats/bases/base36';
|
|
15
|
+
import { base64pad } from 'multiformats/bases/base64';
|
|
16
|
+
import { sha1 } from 'multiformats/hashes/sha1';
|
|
17
|
+
import { Uint8ArrayList } from 'uint8arraylist';
|
|
18
|
+
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
|
|
19
|
+
import { DNS_CODECS, HTTP_CODEC, HTTP_PATH_CODEC } from './constants.js';
|
|
20
|
+
import { Request } from './request.js';
|
|
21
|
+
export function toURL(resource, headers) {
|
|
22
|
+
if (resource instanceof URL) {
|
|
23
|
+
return resource;
|
|
24
|
+
}
|
|
25
|
+
const host = getHost(resource, headers);
|
|
26
|
+
const { httpPath } = stripHTTPPath(resource);
|
|
27
|
+
return new URL(`http://${host}${httpPath}`);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Normalizes byte-like input to a `Uint8Array`
|
|
31
|
+
*/
|
|
32
|
+
export function toUint8Array(obj) {
|
|
33
|
+
if (obj instanceof Uint8Array) {
|
|
34
|
+
return obj;
|
|
35
|
+
}
|
|
36
|
+
if (obj instanceof DataView) {
|
|
37
|
+
return new Uint8Array(obj.buffer, obj.byteOffset, obj.byteLength);
|
|
38
|
+
}
|
|
39
|
+
return new Uint8Array(obj, 0, obj.byteLength);
|
|
40
|
+
}
|
|
41
|
+
export function streamToRequest(info, stream) {
|
|
42
|
+
const init = {
|
|
43
|
+
method: info.method,
|
|
44
|
+
headers: info.headers
|
|
45
|
+
};
|
|
46
|
+
if ((init.method !== 'GET' || info.upgrade) && init.method !== 'HEAD') {
|
|
47
|
+
let source = stream.source;
|
|
48
|
+
if (!info.upgrade) {
|
|
49
|
+
source = takeBytes(stream.source, info.headers.get('content-length'));
|
|
50
|
+
}
|
|
51
|
+
init.body = itToBrowserReadableStream(source);
|
|
52
|
+
// @ts-expect-error this is required by NodeJS despite being the only reasonable option https://fetch.spec.whatwg.org/#requestinit
|
|
53
|
+
init.duplex = 'half';
|
|
54
|
+
}
|
|
55
|
+
return new Request(normalizeUrl(info).toString(), init);
|
|
56
|
+
}
|
|
57
|
+
export async function responseToStream(res, stream) {
|
|
58
|
+
const pushable = queuelessPushable();
|
|
59
|
+
stream.sink(pushable)
|
|
60
|
+
.catch(err => {
|
|
61
|
+
stream.abort(err);
|
|
62
|
+
});
|
|
63
|
+
await pushable.push(uint8ArrayFromString([
|
|
64
|
+
`HTTP/1.1 ${res.status} ${res.statusText}`,
|
|
65
|
+
...writeHeaders(res.headers),
|
|
66
|
+
'',
|
|
67
|
+
''
|
|
68
|
+
].join('\r\n')));
|
|
69
|
+
if (res.body == null) {
|
|
70
|
+
await pushable.end();
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
const reader = res.body.getReader();
|
|
74
|
+
let result = await reader.read();
|
|
75
|
+
while (true) {
|
|
76
|
+
if (result.value != null) {
|
|
77
|
+
await pushable.push(result.value);
|
|
78
|
+
}
|
|
79
|
+
if (result.done) {
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
result = await reader.read();
|
|
83
|
+
}
|
|
84
|
+
await pushable.end();
|
|
85
|
+
await stream.closeWrite()
|
|
86
|
+
.catch(err => {
|
|
87
|
+
stream.abort(err);
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
export const NOT_FOUND_RESPONSE = uint8ArrayFromString([
|
|
91
|
+
'HTTP/1.1 404 Not Found',
|
|
92
|
+
'Connection: close',
|
|
93
|
+
'',
|
|
94
|
+
''
|
|
95
|
+
].join('\r\n'));
|
|
96
|
+
export const BAD_REQUEST = uint8ArrayFromString([
|
|
97
|
+
'HTTP/1.1 400 Bad Request',
|
|
98
|
+
'Connection: close',
|
|
99
|
+
'',
|
|
100
|
+
''
|
|
101
|
+
].join('\r\n'));
|
|
102
|
+
export const INTERNAL_SERVER_ERROR = uint8ArrayFromString([
|
|
103
|
+
'HTTP/1.1 500 Internal Server Error',
|
|
104
|
+
'Connection: close',
|
|
105
|
+
'',
|
|
106
|
+
''
|
|
107
|
+
].join('\r\n'));
|
|
108
|
+
export const NOT_IMPLEMENTED_ERROR = uint8ArrayFromString([
|
|
109
|
+
'HTTP/1.1 501 Not Implemented',
|
|
110
|
+
'Connection: close',
|
|
111
|
+
'',
|
|
112
|
+
''
|
|
113
|
+
].join('\r\n'));
|
|
114
|
+
export function writeHeaders(headers) {
|
|
115
|
+
const output = [];
|
|
116
|
+
if (headers.get('Connection') == null) {
|
|
117
|
+
headers.set('Connection', 'close');
|
|
118
|
+
}
|
|
119
|
+
for (const [key, value] of headers.entries()) {
|
|
120
|
+
output.push(`${key}: ${value}`);
|
|
121
|
+
}
|
|
122
|
+
return output;
|
|
123
|
+
}
|
|
124
|
+
async function* takeBytes(source, bytes) {
|
|
125
|
+
bytes = parseInt(`${bytes ?? ''}`);
|
|
126
|
+
if (bytes == null || isNaN(bytes)) {
|
|
127
|
+
return source;
|
|
128
|
+
}
|
|
129
|
+
let count = 0;
|
|
130
|
+
for await (const buf of source) {
|
|
131
|
+
count += buf.byteLength;
|
|
132
|
+
if (count > bytes) {
|
|
133
|
+
yield buf.subarray(0, count - bytes);
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
yield buf.subarray();
|
|
137
|
+
if (count === bytes) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Attempts to convert the passed `resource` into a HTTP(s) URL or an array of
|
|
144
|
+
* multiaddrs.
|
|
145
|
+
*
|
|
146
|
+
* The returned URL should be handled by the global fetch, the multiaddr(s)
|
|
147
|
+
* should be handled by libp2p.
|
|
148
|
+
*/
|
|
149
|
+
export function toResource(resource, path) {
|
|
150
|
+
if (typeof resource === 'string') {
|
|
151
|
+
if (resource.startsWith('/')) {
|
|
152
|
+
resource = multiaddr(resource);
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
resource = new URL(resource);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
if (isPeerId(resource)) {
|
|
159
|
+
resource = multiaddr(`/p2p/${resource}`);
|
|
160
|
+
}
|
|
161
|
+
if (resource instanceof URL) {
|
|
162
|
+
if (resource.protocol === 'multiaddr:') {
|
|
163
|
+
resource = uriToMultiaddr(resource.toString());
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
if (isMultiaddr(resource)) {
|
|
167
|
+
resource = [resource];
|
|
168
|
+
}
|
|
169
|
+
// check for `/http/` tuple and transform to URL if present
|
|
170
|
+
if (Array.isArray(resource)) {
|
|
171
|
+
for (const ma of resource) {
|
|
172
|
+
const stringTuples = ma.stringTuples();
|
|
173
|
+
if (stringTuples.find(([codec]) => codec === HTTP_CODEC) != null) {
|
|
174
|
+
const uri = multiaddrToUri(ma);
|
|
175
|
+
return new URL(`${uri}${path ?? ''}`);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
if (path == null) {
|
|
180
|
+
return resource;
|
|
181
|
+
}
|
|
182
|
+
if (resource instanceof URL) {
|
|
183
|
+
return new URL(`${resource}${path.substring(1)}`);
|
|
184
|
+
}
|
|
185
|
+
return resource.map(ma => ma.encapsulate(`/http-path/${encodeURIComponent(path.substring(1))}`));
|
|
186
|
+
}
|
|
187
|
+
export function getHeaders(init = {}) {
|
|
188
|
+
if (init.headers instanceof Headers) {
|
|
189
|
+
return init.headers;
|
|
190
|
+
}
|
|
191
|
+
init.headers = new Headers(init.headers);
|
|
192
|
+
return init.headers;
|
|
193
|
+
}
|
|
194
|
+
export function getHeader(header, headers = {}) {
|
|
195
|
+
if (headers instanceof Headers) {
|
|
196
|
+
return headers.get(header) ?? undefined;
|
|
197
|
+
}
|
|
198
|
+
if (Array.isArray(headers)) {
|
|
199
|
+
return headers.find(([key, value]) => {
|
|
200
|
+
if (key === header) {
|
|
201
|
+
return value;
|
|
202
|
+
}
|
|
203
|
+
return undefined;
|
|
204
|
+
})?.[1];
|
|
205
|
+
}
|
|
206
|
+
return headers[header];
|
|
207
|
+
}
|
|
208
|
+
function isValidHost(host) {
|
|
209
|
+
return host != null && host !== '';
|
|
210
|
+
}
|
|
211
|
+
// eslint-disable-next-line complexity
|
|
212
|
+
export function getHost(addresses, headers) {
|
|
213
|
+
let host;
|
|
214
|
+
let port = 80;
|
|
215
|
+
let protocol = 'http:';
|
|
216
|
+
if (addresses instanceof URL) {
|
|
217
|
+
host = addresses.hostname;
|
|
218
|
+
port = parseInt(addresses.port, 10);
|
|
219
|
+
protocol = addresses.protocol;
|
|
220
|
+
}
|
|
221
|
+
if (!isValidHost(host)) {
|
|
222
|
+
host = headers.get('host') ?? undefined;
|
|
223
|
+
}
|
|
224
|
+
// try to extract domain from DNS addresses
|
|
225
|
+
if (!isValidHost(host) && Array.isArray(addresses)) {
|
|
226
|
+
for (const address of addresses) {
|
|
227
|
+
const stringTuples = address.stringTuples();
|
|
228
|
+
const filtered = stringTuples.filter(([key]) => DNS_CODECS.includes(key))?.[0]?.[1];
|
|
229
|
+
if (filtered != null) {
|
|
230
|
+
host = filtered;
|
|
231
|
+
break;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
// try to use remote PeerId as domain
|
|
236
|
+
if (!isValidHost(host) && Array.isArray(addresses)) {
|
|
237
|
+
for (const address of addresses) {
|
|
238
|
+
const peerStr = address.getPeerId();
|
|
239
|
+
// try to extract port from multiaddr if it is available
|
|
240
|
+
try {
|
|
241
|
+
const options = address.toOptions();
|
|
242
|
+
port = options.port;
|
|
243
|
+
}
|
|
244
|
+
catch { }
|
|
245
|
+
if (peerStr != null) {
|
|
246
|
+
const peerId = peerIdFromString(peerStr);
|
|
247
|
+
// host has to be case-insensitive
|
|
248
|
+
host = peerId.toCID().toString(base36);
|
|
249
|
+
break;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
// try use network host as domain
|
|
254
|
+
if (!isValidHost(host) && Array.isArray(addresses)) {
|
|
255
|
+
for (const address of addresses) {
|
|
256
|
+
try {
|
|
257
|
+
const options = address.toOptions();
|
|
258
|
+
host = options.host;
|
|
259
|
+
break;
|
|
260
|
+
}
|
|
261
|
+
catch { }
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
if (isValidHost(host)) {
|
|
265
|
+
// add port if not standard
|
|
266
|
+
if (protocol === 'http:' && port !== 80) {
|
|
267
|
+
host = `${host}:${port}`;
|
|
268
|
+
}
|
|
269
|
+
if (protocol === 'https:' && port !== 443) {
|
|
270
|
+
host = `${host}:${port}`;
|
|
271
|
+
}
|
|
272
|
+
return host;
|
|
273
|
+
}
|
|
274
|
+
throw new InvalidParametersError('Could not determine request host name - a request must have a host header, be made to a DNS or IP-based multiaddr or an http(s) URL');
|
|
275
|
+
}
|
|
276
|
+
export function stripHTTPPath(addresses) {
|
|
277
|
+
// strip http-path tuple but record the value if set
|
|
278
|
+
let httpPath = '/';
|
|
279
|
+
addresses = addresses.map(ma => {
|
|
280
|
+
return fromStringTuples(ma.stringTuples().filter(t => {
|
|
281
|
+
if (t[0] === HTTP_PATH_CODEC && t[1] != null) {
|
|
282
|
+
httpPath = `/${t[1]}`;
|
|
283
|
+
}
|
|
284
|
+
return t[0] !== HTTP_PATH_CODEC;
|
|
285
|
+
}));
|
|
286
|
+
});
|
|
287
|
+
return {
|
|
288
|
+
httpPath,
|
|
289
|
+
addresses
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
export function normalizeMethod(method, defaultMethod = ['GET']) {
|
|
293
|
+
if (method == null) {
|
|
294
|
+
return defaultMethod;
|
|
295
|
+
}
|
|
296
|
+
if (typeof method === 'string') {
|
|
297
|
+
method = [method];
|
|
298
|
+
}
|
|
299
|
+
return method.map(m => m.toUpperCase());
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Returns a fully qualified URL representing the resource that is being
|
|
303
|
+
* requested
|
|
304
|
+
*/
|
|
305
|
+
export function normalizeUrl(req) {
|
|
306
|
+
const url = req.url ?? '/';
|
|
307
|
+
if (url.startsWith('http')) {
|
|
308
|
+
return new URL(url);
|
|
309
|
+
}
|
|
310
|
+
const host = getHostFromReq(req);
|
|
311
|
+
return new URL(`http://${host}${url}`);
|
|
312
|
+
}
|
|
313
|
+
function getHostFromReq(req) {
|
|
314
|
+
let host = req.headers?.host;
|
|
315
|
+
if (host == null) {
|
|
316
|
+
host = req.headers?.Host;
|
|
317
|
+
}
|
|
318
|
+
if (host == null && typeof req.headers.get === 'function') {
|
|
319
|
+
host = req.headers.get('host');
|
|
320
|
+
}
|
|
321
|
+
if (host == null) {
|
|
322
|
+
throw new InvalidParametersError('Could not read host');
|
|
323
|
+
}
|
|
324
|
+
return host;
|
|
325
|
+
}
|
|
326
|
+
export function isWebSocketUpgrade(method, headers) {
|
|
327
|
+
return method === 'GET' && headers.get('connection')?.toLowerCase() === 'upgrade' && headers.get('upgrade')?.toLowerCase() === 'websocket';
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Handles node.js-style headers for which the values can be string[]
|
|
331
|
+
*/
|
|
332
|
+
function getHeaderFromHeaders(headers, key) {
|
|
333
|
+
if (headers instanceof Headers) {
|
|
334
|
+
return headers.get(key) ?? undefined;
|
|
335
|
+
}
|
|
336
|
+
const header = headers[key];
|
|
337
|
+
if (Array.isArray(header)) {
|
|
338
|
+
return header.join(',');
|
|
339
|
+
}
|
|
340
|
+
return header;
|
|
341
|
+
}
|
|
342
|
+
export async function getServerUpgradeHeaders(headers) {
|
|
343
|
+
if (getHeaderFromHeaders(headers, 'sec-websocket-version') !== '13') {
|
|
344
|
+
throw new ProtocolError('Invalid version');
|
|
345
|
+
}
|
|
346
|
+
const secWebSocketKey = getHeaderFromHeaders(headers, 'sec-websocket-key');
|
|
347
|
+
if (secWebSocketKey == null) {
|
|
348
|
+
throw new ProtocolError('Missing sec-websocket-key');
|
|
349
|
+
}
|
|
350
|
+
const token = `${secWebSocketKey}258EAFA5-E914-47DA-95CA-C5AB0DC85B11`;
|
|
351
|
+
const hash = await sha1.digest(uint8ArrayFromString(token));
|
|
352
|
+
const webSocketAccept = base64pad.encode(hash.digest).substring(1);
|
|
353
|
+
return new Headers({
|
|
354
|
+
Upgrade: 'websocket',
|
|
355
|
+
Connection: 'upgrade',
|
|
356
|
+
'Sec-WebSocket-Accept': webSocketAccept
|
|
357
|
+
});
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* Reads HTTP headers from an incoming stream
|
|
361
|
+
*/
|
|
362
|
+
export async function readHeaders(stream) {
|
|
363
|
+
return new Promise((resolve, reject) => {
|
|
364
|
+
const parser = new HTTPParser('REQUEST');
|
|
365
|
+
const source = queuelessPushable();
|
|
366
|
+
const earlyData = new Uint8ArrayList();
|
|
367
|
+
let headersComplete = false;
|
|
368
|
+
parser[HTTPParser.kOnHeadersComplete] = (info) => {
|
|
369
|
+
headersComplete = true;
|
|
370
|
+
const headers = new Headers();
|
|
371
|
+
// set incoming headers
|
|
372
|
+
for (let i = 0; i < info.headers.length; i += 2) {
|
|
373
|
+
headers.set(info.headers[i].toLowerCase(), info.headers[i + 1]);
|
|
374
|
+
}
|
|
375
|
+
resolve({
|
|
376
|
+
...info,
|
|
377
|
+
headers,
|
|
378
|
+
raw: earlyData,
|
|
379
|
+
method: HTTPParser.methods[info.method]
|
|
380
|
+
});
|
|
381
|
+
};
|
|
382
|
+
// replace source with request body
|
|
383
|
+
const streamSource = stream.source;
|
|
384
|
+
stream.source = source;
|
|
385
|
+
Promise.resolve().then(async () => {
|
|
386
|
+
for await (const chunk of streamSource) {
|
|
387
|
+
// only use the message parser until the headers have been read
|
|
388
|
+
if (!headersComplete) {
|
|
389
|
+
earlyData.append(chunk);
|
|
390
|
+
parser.execute(chunk.subarray());
|
|
391
|
+
}
|
|
392
|
+
else {
|
|
393
|
+
await source.push(new Uint8ArrayList(chunk));
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
await source.end();
|
|
397
|
+
})
|
|
398
|
+
.catch((err) => {
|
|
399
|
+
stream.abort(err);
|
|
400
|
+
reject(err);
|
|
401
|
+
})
|
|
402
|
+
.finally(() => {
|
|
403
|
+
parser.finish();
|
|
404
|
+
});
|
|
405
|
+
});
|
|
406
|
+
}
|
|
407
|
+
export * from './request.js';
|
|
408
|
+
export * from './response.js';
|
|
409
|
+
export * from './constants.js';
|
|
410
|
+
export * from './stream-to-socket.js';
|
|
411
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extends the native Request class to be more flexible.
|
|
3
|
+
*
|
|
4
|
+
* - body - normally GET requests cannot have a body, but if the request is for
|
|
5
|
+
* a WebSocket upgrade, we need the body to turn into the socket
|
|
6
|
+
*
|
|
7
|
+
* Also firefox Web Workers remove the request body though weirdly the main
|
|
8
|
+
* thread doesn't.
|
|
9
|
+
*
|
|
10
|
+
* - headers - the global browser request removes certain headers like
|
|
11
|
+
* Authorization and Sec-WebSocket-Protocol but we need to preserve them
|
|
12
|
+
*/
|
|
13
|
+
export declare class Request extends globalThis.Request {
|
|
14
|
+
constructor(input: RequestInfo | URL, init?: RequestInit);
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,qBAAa,OAAQ,SAAQ,UAAU,CAAC,OAAO;gBAChC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,GAAE,WAAgB;CA4B9D"}
|