diff options
Diffstat (limited to 'ext/node/polyfills/internal/http.ts')
-rw-r--r-- | ext/node/polyfills/internal/http.ts | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/ext/node/polyfills/internal/http.ts b/ext/node/polyfills/internal/http.ts new file mode 100644 index 000000000..f541039dc --- /dev/null +++ b/ext/node/polyfills/internal/http.ts @@ -0,0 +1,38 @@ +// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. +// Copyright Joyent and Node contributors. All rights reserved. MIT license. + +import { setUnrefTimeout } from "internal:deno_node/polyfills/timers.ts"; +import { notImplemented } from "internal:deno_node/polyfills/_utils.ts"; + +let utcCache: string | undefined; + +export function utcDate() { + if (!utcCache) cache(); + return utcCache; +} + +function cache() { + const d = new Date(); + utcCache = d.toUTCString(); + setUnrefTimeout(resetCache, 1000 - d.getMilliseconds()); +} + +function resetCache() { + utcCache = undefined; +} + +export function emitStatistics( + _statistics: { startTime: [number, number] } | null, +) { + notImplemented("internal/http.emitStatistics"); +} + +export const kOutHeaders = Symbol("kOutHeaders"); +export const kNeedDrain = Symbol("kNeedDrain"); + +export default { + utcDate, + emitStatistics, + kOutHeaders, + kNeedDrain, +}; |