@eggjs/koa 2.14.2 → 2.15.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 +8 -100
- package/lib/application.d.ts +110 -0
- package/lib/application.js +250 -304
- package/lib/context.d.ts +104 -0
- package/lib/context.js +212 -242
- package/lib/request.d.ts +317 -0
- package/lib/request.js +525 -724
- package/lib/response.d.ts +210 -0
- package/lib/response.js +441 -586
- package/package.json +26 -43
- package/dist/koa.mjs +0 -4
package/lib/context.d.ts
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import util from 'node:util';
|
|
4
|
+
import type { IncomingMessage, ServerResponse } from 'node:http';
|
|
5
|
+
import Cookies from 'cookies';
|
|
6
|
+
import type Application from './application';
|
|
7
|
+
import type Request from './request';
|
|
8
|
+
import type Response from './response';
|
|
9
|
+
import type { CustomError, AnyProto } from './types';
|
|
10
|
+
export default class Context {
|
|
11
|
+
#private;
|
|
12
|
+
app: Application;
|
|
13
|
+
req: IncomingMessage;
|
|
14
|
+
res: ServerResponse;
|
|
15
|
+
request: Request & AnyProto;
|
|
16
|
+
response: Response & AnyProto;
|
|
17
|
+
state: Record<string, any>;
|
|
18
|
+
originalUrl: string;
|
|
19
|
+
respond?: boolean;
|
|
20
|
+
constructor(app: Application, req: IncomingMessage, res: ServerResponse);
|
|
21
|
+
/**
|
|
22
|
+
* util.inspect() implementation, which
|
|
23
|
+
* just returns the JSON output.
|
|
24
|
+
*/
|
|
25
|
+
inspect(): {
|
|
26
|
+
request: any;
|
|
27
|
+
response: any;
|
|
28
|
+
app: any;
|
|
29
|
+
originalUrl: string;
|
|
30
|
+
req: string;
|
|
31
|
+
res: string;
|
|
32
|
+
socket: string;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Custom inspection implementation for newer Node.js versions.
|
|
36
|
+
*/
|
|
37
|
+
[util.inspect.custom](): {
|
|
38
|
+
request: any;
|
|
39
|
+
response: any;
|
|
40
|
+
app: any;
|
|
41
|
+
originalUrl: string;
|
|
42
|
+
req: string;
|
|
43
|
+
res: string;
|
|
44
|
+
socket: string;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Return JSON representation.
|
|
48
|
+
*
|
|
49
|
+
* Here we explicitly invoke .toJSON() on each
|
|
50
|
+
* object, as iteration will otherwise fail due
|
|
51
|
+
* to the getters and cause utilities such as
|
|
52
|
+
* clone() to fail.
|
|
53
|
+
*/
|
|
54
|
+
toJSON(): {
|
|
55
|
+
request: any;
|
|
56
|
+
response: any;
|
|
57
|
+
app: any;
|
|
58
|
+
originalUrl: string;
|
|
59
|
+
req: string;
|
|
60
|
+
res: string;
|
|
61
|
+
socket: string;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Similar to .throw(), adds assertion.
|
|
65
|
+
*
|
|
66
|
+
* this.assert(this.user, 401, 'Please login!');
|
|
67
|
+
*
|
|
68
|
+
* See: https://github.com/jshttp/http-assert
|
|
69
|
+
*
|
|
70
|
+
* @param {Mixed} test
|
|
71
|
+
* @param {Number} status
|
|
72
|
+
* @param {String} message
|
|
73
|
+
* @public
|
|
74
|
+
*/
|
|
75
|
+
assert(...args: any[]): any;
|
|
76
|
+
/**
|
|
77
|
+
* Throw an error with `status` (default 500) and
|
|
78
|
+
* `msg`. Note that these are user-level
|
|
79
|
+
* errors, and the message may be exposed to the client.
|
|
80
|
+
*
|
|
81
|
+
* this.throw(403)
|
|
82
|
+
* this.throw(400, 'name required')
|
|
83
|
+
* this.throw('something exploded')
|
|
84
|
+
* this.throw(new Error('invalid'))
|
|
85
|
+
* this.throw(400, new Error('invalid'))
|
|
86
|
+
*
|
|
87
|
+
* See: https://github.com/jshttp/http-errors
|
|
88
|
+
*
|
|
89
|
+
* Note: `status` should only be passed as the first parameter.
|
|
90
|
+
*
|
|
91
|
+
* @param {String|Number|Error} err, msg or status
|
|
92
|
+
* @param {String|Number|Error} [err, msg or status]
|
|
93
|
+
* @param {Object} [props]
|
|
94
|
+
*/
|
|
95
|
+
throw(...args: any[]): void;
|
|
96
|
+
/**
|
|
97
|
+
* Default error handling.
|
|
98
|
+
* @private
|
|
99
|
+
*/
|
|
100
|
+
onerror(err: CustomError): void;
|
|
101
|
+
get cookies(): Cookies;
|
|
102
|
+
set cookies(cookies: Cookies);
|
|
103
|
+
}
|
|
104
|
+
export type ContextDelegation = Context & Pick<Request, 'acceptsLanguages' | 'acceptsEncodings' | 'acceptsCharsets' | 'accepts' | 'get' | 'is' | 'querystring' | 'idempotent' | 'socket' | 'search' | 'method' | 'query' | 'path' | 'url' | 'accept' | 'origin' | 'href' | 'subdomains' | 'protocol' | 'host' | 'hostname' | 'URL' | 'header' | 'headers' | 'secure' | 'stale' | 'fresh' | 'ips' | 'ip'> & Pick<Response, 'attachment' | 'redirect' | 'remove' | 'vary' | 'has' | 'set' | 'append' | 'flushHeaders' | 'status' | 'message' | 'body' | 'length' | 'type' | 'lastModified' | 'etag' | 'headerSent' | 'writable'> & AnyProto;
|
package/lib/context.js
CHANGED
|
@@ -1,251 +1,221 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
inspect() {
|
|
32
|
-
if (this === proto) return this;
|
|
33
|
-
return this.toJSON();
|
|
34
|
-
},
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Return JSON representation.
|
|
38
|
-
*
|
|
39
|
-
* Here we explicitly invoke .toJSON() on each
|
|
40
|
-
* object, as iteration will otherwise fail due
|
|
41
|
-
* to the getters and cause utilities such as
|
|
42
|
-
* clone() to fail.
|
|
43
|
-
*
|
|
44
|
-
* @return {Object}
|
|
45
|
-
* @api public
|
|
46
|
-
*/
|
|
47
|
-
|
|
48
|
-
toJSON() {
|
|
49
|
-
return {
|
|
50
|
-
request: this.request.toJSON(),
|
|
51
|
-
response: this.response.toJSON(),
|
|
52
|
-
app: this.app.toJSON(),
|
|
53
|
-
originalUrl: this.originalUrl,
|
|
54
|
-
req: '<original node req>',
|
|
55
|
-
res: '<original node res>',
|
|
56
|
-
socket: '<original node socket>'
|
|
57
|
-
};
|
|
58
|
-
},
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Similar to .throw(), adds assertion.
|
|
62
|
-
*
|
|
63
|
-
* this.assert(this.user, 401, 'Please login!');
|
|
64
|
-
*
|
|
65
|
-
* See: https://github.com/jshttp/http-assert
|
|
66
|
-
*
|
|
67
|
-
* @param {Mixed} test
|
|
68
|
-
* @param {Number} status
|
|
69
|
-
* @param {String} message
|
|
70
|
-
* @api public
|
|
71
|
-
*/
|
|
72
|
-
|
|
73
|
-
assert: httpAssert,
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Throw an error with `status` (default 500) and
|
|
77
|
-
* `msg`. Note that these are user-level
|
|
78
|
-
* errors, and the message may be exposed to the client.
|
|
79
|
-
*
|
|
80
|
-
* this.throw(403)
|
|
81
|
-
* this.throw(400, 'name required')
|
|
82
|
-
* this.throw('something exploded')
|
|
83
|
-
* this.throw(new Error('invalid'))
|
|
84
|
-
* this.throw(400, new Error('invalid'))
|
|
85
|
-
*
|
|
86
|
-
* See: https://github.com/jshttp/http-errors
|
|
87
|
-
*
|
|
88
|
-
* Note: `status` should only be passed as the first parameter.
|
|
89
|
-
*
|
|
90
|
-
* @param {String|Number|Error} err, msg or status
|
|
91
|
-
* @param {String|Number|Error} [err, msg or status]
|
|
92
|
-
* @param {Object} [props]
|
|
93
|
-
* @api public
|
|
94
|
-
*/
|
|
95
|
-
|
|
96
|
-
throw(...args) {
|
|
97
|
-
throw createError(...args);
|
|
98
|
-
},
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* Default error handling.
|
|
102
|
-
*
|
|
103
|
-
* @param {Error} err
|
|
104
|
-
* @api private
|
|
105
|
-
*/
|
|
106
|
-
|
|
107
|
-
onerror(err) {
|
|
108
|
-
// don't do anything if there is no error.
|
|
109
|
-
// this allows you to pass `this.onerror`
|
|
110
|
-
// to node-style callbacks.
|
|
111
|
-
if (null == err) return;
|
|
112
|
-
|
|
113
|
-
// When dealing with cross-globals a normal `instanceof` check doesn't work properly.
|
|
114
|
-
// See https://github.com/koajs/koa/issues/1466
|
|
115
|
-
// We can probably remove it once jest fixes https://github.com/facebook/jest/issues/2549.
|
|
116
|
-
const isNativeError =
|
|
117
|
-
Object.prototype.toString.call(err) === '[object Error]' ||
|
|
118
|
-
err instanceof Error;
|
|
119
|
-
if (!isNativeError) err = new Error(util.format('non-error thrown: %j', err));
|
|
120
|
-
|
|
121
|
-
let headerSent = false;
|
|
122
|
-
if (this.headerSent || !this.writable) {
|
|
123
|
-
headerSent = err.headerSent = true;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const node_util_1 = __importDefault(require("node:util"));
|
|
7
|
+
const http_errors_1 = __importDefault(require("http-errors"));
|
|
8
|
+
const http_assert_1 = __importDefault(require("http-assert"));
|
|
9
|
+
const delegates_1 = __importDefault(require("delegates"));
|
|
10
|
+
const statuses_1 = __importDefault(require("statuses"));
|
|
11
|
+
const cookies_1 = __importDefault(require("cookies"));
|
|
12
|
+
class Context {
|
|
13
|
+
app;
|
|
14
|
+
req;
|
|
15
|
+
res;
|
|
16
|
+
request;
|
|
17
|
+
response;
|
|
18
|
+
state;
|
|
19
|
+
originalUrl;
|
|
20
|
+
respond;
|
|
21
|
+
constructor(app, req, res) {
|
|
22
|
+
this.app = app;
|
|
23
|
+
this.req = req;
|
|
24
|
+
this.res = res;
|
|
25
|
+
this.state = {};
|
|
26
|
+
this.request = new app.RequestClass(app, this, req, res);
|
|
27
|
+
this.response = new app.ResponseClass(app, this, req, res);
|
|
28
|
+
this.request.response = this.response;
|
|
29
|
+
this.response.request = this.request;
|
|
30
|
+
this.originalUrl = req.url;
|
|
124
31
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
// handler and log.
|
|
132
|
-
if (headerSent) {
|
|
133
|
-
return;
|
|
32
|
+
/**
|
|
33
|
+
* util.inspect() implementation, which
|
|
34
|
+
* just returns the JSON output.
|
|
35
|
+
*/
|
|
36
|
+
inspect() {
|
|
37
|
+
return this.toJSON();
|
|
134
38
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
if (typeof res.getHeaderNames === 'function') {
|
|
141
|
-
res.getHeaderNames().forEach(name => res.removeHeader(name));
|
|
142
|
-
} else {
|
|
143
|
-
res._headers = {}; // Node < 7.7
|
|
39
|
+
/**
|
|
40
|
+
* Custom inspection implementation for newer Node.js versions.
|
|
41
|
+
*/
|
|
42
|
+
[node_util_1.default.inspect.custom]() {
|
|
43
|
+
return this.inspect();
|
|
144
44
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
45
|
+
/**
|
|
46
|
+
* Return JSON representation.
|
|
47
|
+
*
|
|
48
|
+
* Here we explicitly invoke .toJSON() on each
|
|
49
|
+
* object, as iteration will otherwise fail due
|
|
50
|
+
* to the getters and cause utilities such as
|
|
51
|
+
* clone() to fail.
|
|
52
|
+
*/
|
|
53
|
+
toJSON() {
|
|
54
|
+
return {
|
|
55
|
+
request: this.request.toJSON(),
|
|
56
|
+
response: this.response.toJSON(),
|
|
57
|
+
app: this.app.toJSON(),
|
|
58
|
+
originalUrl: this.originalUrl,
|
|
59
|
+
req: '<original node req>',
|
|
60
|
+
res: '<original node res>',
|
|
61
|
+
socket: '<original node socket>',
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Similar to .throw(), adds assertion.
|
|
66
|
+
*
|
|
67
|
+
* this.assert(this.user, 401, 'Please login!');
|
|
68
|
+
*
|
|
69
|
+
* See: https://github.com/jshttp/http-assert
|
|
70
|
+
*
|
|
71
|
+
* @param {Mixed} test
|
|
72
|
+
* @param {Number} status
|
|
73
|
+
* @param {String} message
|
|
74
|
+
* @public
|
|
75
|
+
*/
|
|
76
|
+
assert(...args) {
|
|
77
|
+
return (0, http_assert_1.default)(...args);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Throw an error with `status` (default 500) and
|
|
81
|
+
* `msg`. Note that these are user-level
|
|
82
|
+
* errors, and the message may be exposed to the client.
|
|
83
|
+
*
|
|
84
|
+
* this.throw(403)
|
|
85
|
+
* this.throw(400, 'name required')
|
|
86
|
+
* this.throw('something exploded')
|
|
87
|
+
* this.throw(new Error('invalid'))
|
|
88
|
+
* this.throw(400, new Error('invalid'))
|
|
89
|
+
*
|
|
90
|
+
* See: https://github.com/jshttp/http-errors
|
|
91
|
+
*
|
|
92
|
+
* Note: `status` should only be passed as the first parameter.
|
|
93
|
+
*
|
|
94
|
+
* @param {String|Number|Error} err, msg or status
|
|
95
|
+
* @param {String|Number|Error} [err, msg or status]
|
|
96
|
+
* @param {Object} [props]
|
|
97
|
+
*/
|
|
98
|
+
throw(...args) {
|
|
99
|
+
throw (0, http_errors_1.default)(...args);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Default error handling.
|
|
103
|
+
* @private
|
|
104
|
+
*/
|
|
105
|
+
onerror(err) {
|
|
106
|
+
// don't do anything if there is no error.
|
|
107
|
+
// this allows you to pass `this.onerror`
|
|
108
|
+
// to node-style callbacks.
|
|
109
|
+
if (err === null || err === undefined)
|
|
110
|
+
return;
|
|
111
|
+
// When dealing with cross-globals a normal `instanceof` check doesn't work properly.
|
|
112
|
+
// See https://github.com/koajs/koa/issues/1466
|
|
113
|
+
// We can probably remove it once jest fixes https://github.com/facebook/jest/issues/2549.
|
|
114
|
+
const isNativeError = err instanceof Error ||
|
|
115
|
+
Object.prototype.toString.call(err) === '[object Error]';
|
|
116
|
+
if (!isNativeError)
|
|
117
|
+
err = new Error(node_util_1.default.format('non-error thrown: %j', err));
|
|
118
|
+
let headerSent = false;
|
|
119
|
+
if (this.response.headerSent || !this.response.writable) {
|
|
120
|
+
headerSent = err.headerSent = true;
|
|
121
|
+
}
|
|
122
|
+
// delegate
|
|
123
|
+
this.app.emit('error', err, this);
|
|
124
|
+
// nothing we can do here other
|
|
125
|
+
// than delegate to the app-level
|
|
126
|
+
// handler and log.
|
|
127
|
+
if (headerSent) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
const { res } = this;
|
|
131
|
+
// first unset all headers
|
|
132
|
+
res.getHeaderNames().forEach(name => res.removeHeader(name));
|
|
133
|
+
// then set those specified
|
|
134
|
+
if (err.headers)
|
|
135
|
+
this.response.set(err.headers);
|
|
136
|
+
// force text/plain
|
|
137
|
+
this.response.type = 'text';
|
|
138
|
+
let statusCode = err.status || err.statusCode;
|
|
139
|
+
// ENOENT support
|
|
140
|
+
if (err.code === 'ENOENT')
|
|
141
|
+
statusCode = 404;
|
|
142
|
+
// default to 500
|
|
143
|
+
if (typeof statusCode !== 'number' || !statuses_1.default[statusCode])
|
|
144
|
+
statusCode = 500;
|
|
145
|
+
// respond
|
|
146
|
+
const code = statuses_1.default[statusCode];
|
|
147
|
+
const msg = err.expose ? err.message : code;
|
|
148
|
+
this.response.status = err.status = statusCode;
|
|
149
|
+
this.response.length = Buffer.byteLength(msg);
|
|
150
|
+
res.end(msg);
|
|
151
|
+
}
|
|
152
|
+
#cookies;
|
|
153
|
+
get cookies() {
|
|
154
|
+
if (!this.#cookies) {
|
|
155
|
+
this.#cookies = new cookies_1.default(this.req, this.res, {
|
|
156
|
+
keys: this.app.keys,
|
|
157
|
+
secure: this.request.secure,
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
return this.#cookies;
|
|
161
|
+
}
|
|
162
|
+
set cookies(cookies) {
|
|
163
|
+
this.#cookies = cookies;
|
|
174
164
|
}
|
|
175
|
-
return this[COOKIES];
|
|
176
|
-
},
|
|
177
|
-
|
|
178
|
-
set cookies(_cookies) {
|
|
179
|
-
this[COOKIES] = _cookies;
|
|
180
|
-
}
|
|
181
|
-
};
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* Custom inspection implementation for newer Node.js versions.
|
|
185
|
-
*
|
|
186
|
-
* @return {Object}
|
|
187
|
-
* @api public
|
|
188
|
-
*/
|
|
189
|
-
|
|
190
|
-
/* istanbul ignore else */
|
|
191
|
-
if (util.inspect.custom) {
|
|
192
|
-
module.exports[util.inspect.custom] = module.exports.inspect;
|
|
193
165
|
}
|
|
194
|
-
|
|
166
|
+
exports.default = Context;
|
|
195
167
|
/**
|
|
196
|
-
*
|
|
168
|
+
* Request delegation.
|
|
197
169
|
*/
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
170
|
+
(0, delegates_1.default)(Context.prototype, 'request')
|
|
171
|
+
.method('acceptsLanguages')
|
|
172
|
+
.method('acceptsEncodings')
|
|
173
|
+
.method('acceptsCharsets')
|
|
174
|
+
.method('accepts')
|
|
175
|
+
.method('get')
|
|
176
|
+
.method('is')
|
|
177
|
+
.access('querystring')
|
|
178
|
+
.access('idempotent')
|
|
179
|
+
.access('socket')
|
|
180
|
+
.access('search')
|
|
181
|
+
.access('method')
|
|
182
|
+
.access('query')
|
|
183
|
+
.access('path')
|
|
184
|
+
.access('url')
|
|
185
|
+
.access('accept')
|
|
186
|
+
.getter('origin')
|
|
187
|
+
.getter('href')
|
|
188
|
+
.getter('subdomains')
|
|
189
|
+
.getter('protocol')
|
|
190
|
+
.getter('host')
|
|
191
|
+
.getter('hostname')
|
|
192
|
+
.getter('URL')
|
|
193
|
+
.getter('header')
|
|
194
|
+
.getter('headers')
|
|
195
|
+
.getter('secure')
|
|
196
|
+
.getter('stale')
|
|
197
|
+
.getter('fresh')
|
|
198
|
+
.getter('ips')
|
|
199
|
+
.getter('ip');
|
|
218
200
|
/**
|
|
219
|
-
*
|
|
201
|
+
* Response delegation.
|
|
220
202
|
*/
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
.getter('subdomains')
|
|
241
|
-
.getter('protocol')
|
|
242
|
-
.getter('host')
|
|
243
|
-
.getter('hostname')
|
|
244
|
-
.getter('URL')
|
|
245
|
-
.getter('header')
|
|
246
|
-
.getter('headers')
|
|
247
|
-
.getter('secure')
|
|
248
|
-
.getter('stale')
|
|
249
|
-
.getter('fresh')
|
|
250
|
-
.getter('ips')
|
|
251
|
-
.getter('ip');
|
|
203
|
+
(0, delegates_1.default)(Context.prototype, 'response')
|
|
204
|
+
.method('attachment')
|
|
205
|
+
.method('redirect')
|
|
206
|
+
.method('remove')
|
|
207
|
+
.method('vary')
|
|
208
|
+
.method('has')
|
|
209
|
+
.method('set')
|
|
210
|
+
.method('append')
|
|
211
|
+
.method('flushHeaders')
|
|
212
|
+
.access('status')
|
|
213
|
+
.access('message')
|
|
214
|
+
.access('body')
|
|
215
|
+
.access('length')
|
|
216
|
+
.access('type')
|
|
217
|
+
.access('lastModified')
|
|
218
|
+
.access('etag')
|
|
219
|
+
.getter('headerSent')
|
|
220
|
+
.getter('writable');
|
|
221
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMERBQTZCO0FBRTdCLDhEQUFzQztBQUN0Qyw4REFBcUM7QUFDckMsMERBQWlDO0FBQ2pDLHdEQUFnQztBQUNoQyxzREFBOEI7QUFNOUIsTUFBcUIsT0FBTztJQUMxQixHQUFHLENBQWM7SUFDakIsR0FBRyxDQUFrQjtJQUNyQixHQUFHLENBQWlCO0lBQ3BCLE9BQU8sQ0FBcUI7SUFDNUIsUUFBUSxDQUFzQjtJQUM5QixLQUFLLENBQXNCO0lBQzNCLFdBQVcsQ0FBUztJQUNwQixPQUFPLENBQVc7SUFFbEIsWUFBWSxHQUFnQixFQUFFLEdBQW9CLEVBQUUsR0FBbUI7UUFDckUsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLElBQVcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLEdBQUksQ0FBQztJQUM5QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsT0FBTztR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
|