Spaces:
Running
Running
File size: 4,558 Bytes
979bf48 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 | "use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
0 && (module.exports = {
NodeNextRequest: null,
NodeNextResponse: null
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
NodeNextRequest: function() {
return NodeNextRequest;
},
NodeNextResponse: function() {
return NodeNextResponse;
}
});
const _apiutils = require("../api-utils");
const _requestmeta = require("../request-meta");
const _index = require("./index");
let prop;
class NodeNextRequest extends _index.BaseNextRequest {
static #_ = prop = _NEXT_REQUEST_META = _requestmeta.NEXT_REQUEST_META;
constructor(_req){
var _this__req;
super(_req.method.toUpperCase(), _req.url, _req), this._req = _req, this.headers = this._req.headers, this.fetchMetrics = (_this__req = this._req) == null ? void 0 : _this__req.fetchMetrics, this[_NEXT_REQUEST_META] = this._req[_requestmeta.NEXT_REQUEST_META] || {}, this.streaming = false;
}
get originalRequest() {
// Need to mimic these changes to the original req object for places where we use it:
// render.tsx, api/ssg requests
this._req[_requestmeta.NEXT_REQUEST_META] = this[_requestmeta.NEXT_REQUEST_META];
this._req.url = this.url;
this._req.cookies = this.cookies;
return this._req;
}
set originalRequest(value) {
this._req = value;
}
/**
* Returns the request body as a Web Readable Stream. The body here can only
* be read once as the body will start flowing as soon as the data handler
* is attached.
*
* @internal
*/ stream() {
if (this.streaming) {
throw Object.defineProperty(new Error('Invariant: NodeNextRequest.stream() can only be called once'), "__NEXT_ERROR_CODE", {
value: "E467",
enumerable: false,
configurable: true
});
}
this.streaming = true;
return new ReadableStream({
start: (controller)=>{
this._req.on('data', (chunk)=>{
controller.enqueue(new Uint8Array(chunk));
});
this._req.on('end', ()=>{
controller.close();
});
this._req.on('error', (err)=>{
controller.error(err);
});
}
});
}
}
class NodeNextResponse extends _index.BaseNextResponse {
get originalResponse() {
if (_apiutils.SYMBOL_CLEARED_COOKIES in this) {
this._res[_apiutils.SYMBOL_CLEARED_COOKIES] = this[_apiutils.SYMBOL_CLEARED_COOKIES];
}
return this._res;
}
constructor(_res){
super(_res), this._res = _res, this.textBody = undefined;
}
get sent() {
return this._res.finished || this._res.headersSent;
}
get statusCode() {
return this._res.statusCode;
}
set statusCode(value) {
this._res.statusCode = value;
}
get statusMessage() {
return this._res.statusMessage;
}
set statusMessage(value) {
this._res.statusMessage = value;
}
setHeader(name, value) {
this._res.setHeader(name, value);
return this;
}
removeHeader(name) {
this._res.removeHeader(name);
return this;
}
getHeaderValues(name) {
const values = this._res.getHeader(name);
if (values === undefined) return undefined;
return (Array.isArray(values) ? values : [
values
]).map((value)=>value.toString());
}
hasHeader(name) {
return this._res.hasHeader(name);
}
getHeader(name) {
const values = this.getHeaderValues(name);
return Array.isArray(values) ? values.join(',') : undefined;
}
getHeaders() {
return this._res.getHeaders();
}
appendHeader(name, value) {
const currentValues = this.getHeaderValues(name) ?? [];
if (!currentValues.includes(value)) {
this._res.setHeader(name, [
...currentValues,
value
]);
}
return this;
}
body(value) {
this.textBody = value;
return this;
}
send() {
this._res.end(this.textBody);
}
onClose(callback) {
this.originalResponse.on('close', callback);
}
}
var _NEXT_REQUEST_META;
//# sourceMappingURL=node.js.map |