diff options
Diffstat (limited to 'ext/node/polyfills/_http_common.ts')
-rw-r--r-- | ext/node/polyfills/_http_common.ts | 61 |
1 files changed, 60 insertions, 1 deletions
diff --git a/ext/node/polyfills/_http_common.ts b/ext/node/polyfills/_http_common.ts index 24dae6f30..8fb7758a5 100644 --- a/ext/node/polyfills/_http_common.ts +++ b/ext/node/polyfills/_http_common.ts @@ -2,8 +2,53 @@ // Copyright Joyent and Node contributors. All rights reserved. MIT license. import { primordials } from "ext:core/mod.js"; -const { RegExpPrototypeTest, SafeRegExp } = primordials; +const { + RegExpPrototypeTest, + SafeRegExp, + Symbol, +} = primordials; + +export const CRLF = "\r\n"; +export const kIncomingMessage = Symbol("IncomingMessage"); const tokenRegExp = new SafeRegExp(/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/); + +export const methods = [ + "ACL", + "BIND", + "CHECKOUT", + "CONNECT", + "COPY", + "DELETE", + "GET", + "HEAD", + "LINK", + "LOCK", + "M-SEARCH", + "MERGE", + "MKACTIVITY", + "MKCALENDAR", + "MKCOL", + "MOVE", + "NOTIFY", + "OPTIONS", + "PATCH", + "POST", + "PROPFIND", + "PROPPATCH", + "PURGE", + "PUT", + "REBIND", + "REPORT", + "SEARCH", + "SOURCE", + "SUBSCRIBE", + "TRACE", + "UNBIND", + "UNLINK", + "UNLOCK", + "UNSUBSCRIBE", +]; + /** * Verifies that the given val is a valid HTTP token * per the rules defined in RFC 7230 @@ -25,7 +70,21 @@ function checkInvalidHeaderChar(val: string) { } export const chunkExpression = new SafeRegExp(/(?:^|\W)chunked(?:$|\W)/i); +export const continueExpression = new SafeRegExp( + /(?:^|\W)100-continue(?:$|\W)/i, +); + export { checkInvalidHeaderChar as _checkInvalidHeaderChar, checkIsHttpToken as _checkIsHttpToken, }; + +export default { + _checkInvalidHeaderChar: checkInvalidHeaderChar, + _checkIsHttpToken: checkIsHttpToken, + chunkExpression, + CRLF, + continueExpression, + kIncomingMessage, + methods, +}; |