Skip to content

Commit

Permalink
Project update. [p][robotic]
Browse files Browse the repository at this point in the history
  • Loading branch information
jaswrks committed Feb 27, 2024
1 parent 81f6d67 commit d54cc8a
Show file tree
Hide file tree
Showing 15 changed files with 54 additions and 33 deletions.
2 changes: 1 addition & 1 deletion .browserslistrc
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
# Generated data.
# <generated:start>

# Last generated Feb 27, 2024 1:41 PM UTC.
# Last generated Feb 27, 2024 5:27 PM UTC.

[production]
node >= 20.9.0
Expand Down
2 changes: 1 addition & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
# Generated data.
# <generated:start>

# Last generated Feb 27, 2024 1:41 PM UTC.
# Last generated Feb 27, 2024 5:27 PM UTC.

# Locals

Expand Down
8 changes: 4 additions & 4 deletions .env.vault
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ DOTENV_VAULT_MAIN="3rfi+ClkONvfHPiU9FTBcC1+Um/L8QeM9dRw1jFzEqzZXw=="
DOTENV_VAULT_MAIN_VERSION=1

# dev
DOTENV_VAULT_DEV="s1IviSwIEdo6sP0RL1yV7QPJLYs5NR5dh2TL1MCs9WtX1a71kA3DfthSqXVp0PJc4tLeUKDtm1ixIgZboNBVa6RPGG1rI4q223lz73qc2pieCG993L4dDAehely9DNld+nGzJZeNxLh5ztsDbk6iwG8mYZMJHpmEQH4m74QuLMgxL4t/zv0E/sJs54giUI9FGPqf1jqYa7zkFQibmVZNcYGXn8a7+rPtLtd704eYQQVkBO4H4dOsf1v/43vWrx7isu2gERlgyGi9QnPmWkVIpYxrqN+oQU6Q/MZmBB8AMTphzjInwJadyaQ0mTPHG3kKejudNhsbqGd1ONu8t7Pv1GN5I01eiVtsRBmUmapD6CGFWwNSsyzMZBmBQnwZSN9HDMK9/VW+oH2nKWICbitEOuN1O9eLDHVXzB03qzNuODbi85AMhY9zyxpFDgs1E+T3m1ADCWJt347FGFzkPMcYRoF7IzGxfC0wLLgErSzGSdHDfoUZVzZIENNEkYyW8eV6dMHtHchbwq5waDmzY8ETLCWLGxuJeqJIBBw90B6E/XLkO3SGJW8MUOdHKz/ANoA1IfTYjT6mZU6tbOBSAgirVQ8NwzqKCcwQFtPXfmnaRAVejHvb52v2ZPFHf5Tl00ycXhGs0WhbAFi/pwx63leKPEsmH3zIZYDTZZwKTyJ9OwSnmLt9etsT9bGs2GHl0hdjaFg64EJnWCDo7v5ZgrpS4tctYWDRQfIErXlxCIwO34P644t46pIIctCbL1SoZh01A1SGb5iSzXeVK8z9LgEtXzRnF69Wlg1SqHBzWClD033QnuNQzus61Qsq0O8f+p5i2VJFT02e6xzVa/CJqAbxQqfuFfmdDWdPbiTXuF9vTofebWc0qS3g5sAeXUtg"
DOTENV_VAULT_DEV_VERSION=213
DOTENV_VAULT_DEV="F9WqYxN07Ales1C03JLcfCAJ57F36DjZsAANM2r3KjKa/A+N184P1HbXXmOfl4rc7rqyVbmH7JswHDD/kl7Y5cOcJSxzkYhuBOwuz49t+ePG9NMSofYI1OY4A5lcngT2WkxT+JMVNfPB9154Ubopns+oDa5c5ddTb2/G0BG65WqbDhQ22WChd8GQvWCTJVModGpriDvmYEZ0Inr5RB8D3Rck8OTGj36XDF4GTK+5DS1kBvJiM1sO5BUg86z6tICg2mzaEwkd2a+Viu9o8vxLvIaG6JGW/GVERtpGCLN9JO1uTEw/Uku0B9Wh4noEMyzKQZ6hDS2mBouBReXmUBlZWiyC+NG0OkFI8W6IkC3FFuXx+0CmxG5ugNRCPSektPxFbRXoSMhEb6Hf+VOZowJNlc8X+i/GegZoxmbHEQMHdC7O5z1Wzs67QvYWphU2S9/70Yko49iHXPceg+fwSX1PEFN7fE32+ESSvMRqTvBmLuhmCPc9PCFWvbDObKU35hzQ0dGliX/Egv0i5k60Y3zFELBh+m3jyR/Gpn5wSR5dOrDy6P+fyxTpJvLMsUFSZcFIzy+sM8odcnLX2JqmhWbJyxESl+XH9SAPL2CO1DM36waSPwBEXJXnuHU/5yFfrcQqYqYLimUre7c2Ce7nFDdcA9lLPAcNH0c5ari8peoyy2AlP72roqNGUDaJc9iJ979j1ngAygMO7Mjl/Xjb7wVloWJJdMTv6ET/GkNdlpDbUUctKiazPsqDK+k3fHtleRuHjIV/wxi0UpSdnpjDmXHxg58gN/jua9DlRGWwaW3MzNgW+fbTrzCQEb1u5DfX5ZfAG39S7xAHlSkpZsnQ/1t2Yuf2auoDrRFSaGQr4jTjjpv9qbWBx8eXLPUKdFMS"
DOTENV_VAULT_DEV_VERSION=215

# ci
DOTENV_VAULT_CI="bZziShewSDBDCcc5tIm/HMclhTznz/6lOODSlHDcvcT1SiVaNS34EBpoFsJFuLMMbU4IAkOddOgU7niWRj0+ZKyBAx9mj3KODt9SgvvrpqhcGeR0aJ1U1p2PCm6C+2MIXGhGTfB+8HQojwAGyai8k3fSNchtOhj103a3FF21kwvHkh2NaxgkBhZXRi6J/QgxRKTVgcbtl+CKrnN6YzavwwTRawhpI5fGrqdGGQ9l4Dv6pMONCzS0+JWPCo7HWibKNi67Q1yJOXk/L/9m/9sigPLCtbZPf2gYkI0u0y93gOfVCJdYNTkoqDfiF+KUVRN2/yQcDe9+VJhaOHuz+uDDrxOPxgwz/TtYS32nzLjUWo5wHKBrlvT9NUTPlKgl1FWQzWc8nstigSz1fObPaWlnzk2zx7/cOmi2IRk/Dj50iGX6q+r55VQbluFEqlpDs4FFQuWuu3kCiRmbE8dhpMUc02IU9NcGS4YtskLMioJqzZUEABYksi+tESNpIKg2XSZRUuZzpgQh6won7obeLlPXRfgbUL/ezV+GWWG3wUbilW3ViBBRgR6lhigmF30wlZVLoCAgrr2ACfDpI2v/PjHL751opJNLy25SPqVwRMJyrT6DdeszdJbbyIAIZaFYyLsc6JDZPgz4z+otQl3T0r3erD47st6Gtr1jpIvieJNVfN5TgHsY+2JJWLuKU2X/hNIduJfl0ZYQ5lYcEn3bPs9Nv4msrs5pGS6GgRSkrPsIPHhE8vRD4W14UfWM1LDG2zw4RMDhf8Cr/mbwbVz+L7MWGPTmToEi+30SWsroX4MUF5EREnY4kDAoNh60Om/7dqDAjxCIvZXufgj5KFIWKRPPOsFy+sD2UXprPwMswUMn8KfzLeK7esjkg7zAHQl8"
DOTENV_VAULT_CI_VERSION=213
DOTENV_VAULT_CI="eGzJk4jPmy3uRv9AAUGsbr31hVl5zUsbK7jFjVxI8FFnJdTye0pv22G36UN9+1WC4Msx1r4MN8pcy3ep3VWA6EmrjM+iZDvZChs4g1APGW+PB+e4PhLCeA7cCjsQhqvDOSnKA+suRp2Sbdvy4W75tNKFAHfyGlQlOZ9Dt6+QD8cp13AuKGzpwtgjfMkjey2aRHtAJOKri6DnNDTTqVFCpbOzUEkJxl5sZhO0DuzN/4LdKpaOMGPyDPtp5d71cuW/jJrFUtlMActais+A3tNy79xmW3Ie0KTgeVoVP7RFv50CAz3wItf8DMPTUHvzalakZ6FMFQ3adE4p155fHEJYBdIjVICubTXGsUY7rbtO1hvAhD8RabYqJMA0r6FB0DVulcmrxcAq1W1zz+zTyNBiHxIlwChJkeZdC1yydxRk1SnB76rIqNGkvl6sJAU/E20eEFErAzEKMUHlGsnOSrIw6tnqgkMUtKfeJrlXlYvVEhHr70SRAmS3YLGqNrVDm9Rx44JpZ04a1oaL4sR7FqVmMDz3WG/Yt+socRgMoy93t4M20gYJSEzj/uOMRpaWNpbf/aUt3wLWdc7Rc7Z/OCLYLv4T453jf5TiWRYBTY0VsKeWvqGU+5iQQyV06GhJgqSYQkUipC5dpamx6xj/JCWHH3FrEIXPFMtGl9aVNMp81mqo/Sy3G5Dwzi02OxVth2jdqRayFjwwVVOBBFB184LeqWoj0uo7Zzh1wj1+KCZw8TbCMyev8lvx/qvrFqd+QWJnpQgl3KIQ6XxopUoeMkolSbLnjou2kYZFuJCl8jmC6VB3QsHDOKYrVzC5Q0cGuW/Lxf4rdvn1+AGSRKRdRPqgKrebg9KOC1EloDS3K5t6vHwWvfsAElVhIWBoj35e"
DOTENV_VAULT_CI_VERSION=215

# stage
DOTENV_VAULT_STAGE="bfqZYD8oVLWMZ0JR5LICV+sB/btaXavszxZLxTfwSH8U5fg="
Expand Down
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
# Generated data.
# <generated:start>

# Last generated Feb 27, 2024 1:41 PM UTC.
# Last generated Feb 27, 2024 5:27 PM UTC.

# Default

Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
# Generated data.
# <generated:start>

# Last generated Feb 27, 2024 1:41 PM UTC.
# Last generated Feb 27, 2024 5:27 PM UTC.

# Locals

Expand Down
2 changes: 1 addition & 1 deletion .npmignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
# Generated data.
# <generated:start>

# Last generated Feb 27, 2024 1:41 PM UTC.
# Last generated Feb 27, 2024 5:27 PM UTC.

# Locals

Expand Down
2 changes: 1 addition & 1 deletion .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
# Generated data.
# <generated:start>

# Last generated Feb 27, 2024 1:41 PM UTC.
# Last generated Feb 27, 2024 5:27 PM UTC.

# Packages

Expand Down
2 changes: 1 addition & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
* @note This entire file will be updated automatically.
* @note Instead of editing here, please review `./settings.mjs`.
*
* Last generated using `./settings.mjs` Feb 27, 2024 1:41 PM UTC.
* Last generated using `./settings.mjs` Feb 27, 2024 5:27 PM UTC.
*/
{
"editor.formatOnType": false,
Expand Down
2 changes: 1 addition & 1 deletion .vscodeignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
# Generated data.
# <generated:start>

# Last generated Feb 27, 2024 1:41 PM UTC.
# Last generated Feb 27, 2024 5:27 PM UTC.

# Locals

Expand Down
2 changes: 2 additions & 0 deletions dev/.files/vite/includes/vitest/config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,8 @@ export default async ({ projDir, srcDir, logsDir, targetEnv, vitestSandboxEnable
: ['node', 'any'].includes(targetEnv) ? 'node' // <https://o5p.me/Gf9Cy5>.
: /* fallback */ 'node', // prettier-ignore

...(['cfp', 'cfw'].includes(targetEnv) ? { environmentOptions: { kvNamespaces: ['KV'] } } : {}),

// See: <https://o5p.me/8Pjw1d> for `environment`, `environmentMatchGlobs` precedence.
environmentMatchGlobs: [
['**/*.{cfp,web}.{test,tests,spec,specs}.' + extensions.asBracedGlob([...extensions.byDevGroup.allJavaScript, ...extensions.byDevGroup.allTypeScript]), 'jsdom'],
Expand Down
18 changes: 9 additions & 9 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"publishConfig": {
"access": "public"
},
"version": "1.0.260",
"version": "1.0.261",
"license": "GPL-3.0-or-later",
"name": "@clevercanyon/utilities.cfw",
"description": "Utilities for JavaScript apps running in a Cloudflare Worker environment.",
Expand Down Expand Up @@ -59,7 +59,7 @@
},
"dependencies": {},
"peerDependencies": {
"@clevercanyon/utilities": "^1.0.871",
"@clevercanyon/utilities": "^1.0.873",
"@upstash/ratelimit": "1.0.0",
"@upstash/redis": "1.28.0"
},
Expand Down
35 changes: 27 additions & 8 deletions src/proxy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import '#@initialize.ts';

import { $cfw, cfw } from '#index.ts';
import { $app, $arr, $crypto, $env, $http, $is, $mime, $obj, $str, $time, $to, $url, type $type } from '@clevercanyon/utilities';
import { $app, $arr, $crypto, $env, $gzip, $http, $is, $mime, $obj, $str, $time, $to, $url, type $type } from '@clevercanyon/utilities';

/**
* Defines types.
Expand Down Expand Up @@ -181,7 +181,8 @@ const fetchꓺviaSocket = async (rcData: $cfw.StdRequestContextData, url: $type.
//
responseStatus: undefined | number,
responseHeaders: undefined | $type.cfw.Headers,
responseBody: undefined | string | $type.cfw.Blob;
responseBody: undefined | string | $type.cfw.Blob,
responseBodyDecodingError: undefined | Error;

while (reader /* Stops when `done`. */) {
const { done, value: chunk } = await reader.read();
Expand All @@ -198,15 +199,33 @@ const fetchꓺviaSocket = async (rcData: $cfw.StdRequestContextData, url: $type.
responseStatus = Number(rawHTTPResponseHeaders.match(/^HTTP\/[0-9.]+\s+([0-9]+)/iu)?.[1]) || 500;
responseHeaders = $http.parseHeaders(rawHTTPResponseHeaders) as $type.cfw.Headers;

if (-1 !== rawHTTPResponseCRLFByteIndex && $mime.typeIsBinary(responseHeaders.get('content-type') || '')) {
responseBody = new Blob([rawHTTPResponseBytes.slice(rawHTTPResponseCRLFByteIndex + crlfBytes.length)]);
//
} else if (-1 !== rawHTTPResponseCRLFByteIndex) {
responseBody = $str.textDecode(rawHTTPResponseBytes.slice(rawHTTPResponseCRLFByteIndex + crlfBytes.length));
if (-1 !== rawHTTPResponseCRLFByteIndex) {
const rawResponseBodyBytes = rawHTTPResponseBytes.slice(rawHTTPResponseCRLFByteIndex + crlfBytes.length);

if ($http.contentIsBinary(responseHeaders)) {
responseBody = new Blob([rawResponseBodyBytes]);
//
} else if ($http.contentIsEncoded(responseHeaders)) {
switch (responseHeaders.get('content-encoding')?.toLowerCase()) {
case 'gzip': {
responseBody = await $gzip.decode(rawResponseBodyBytes);
break;
}
case 'deflate': {
responseBody = await $gzip.decode(rawResponseBodyBytes, { deflate: true });
break;
}
default: {
responseBodyDecodingError = Error('Unknown encoding.');
}
}
} else {
responseBody = $str.textDecode(rawResponseBodyBytes);
}
}
await socket.close(); // Closes socket and streams.

if (!responseStatus || !responseHeaders)
if (!responseStatus || !responseHeaders || responseBodyDecodingError)
return new Response(null, {
status: 421,
statusText: $http.responseStatusText(421),
Expand Down
2 changes: 1 addition & 1 deletion tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
* @note This entire file will be updated automatically.
* @note Instead of editing here, please review `./tsconfig.mjs`.
*
* Last generated using `./tsconfig.mjs` Feb 27, 2024 1:41 PM UTC.
* Last generated using `./tsconfig.mjs` Feb 27, 2024 5:27 PM UTC.
*/
{
"include": ["./src/**/*", "./dev-types.d.ts"],
Expand Down
2 changes: 1 addition & 1 deletion wrangler.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
# @note This entire file will be updated automatically.
# @note Instead of editing here, please review `./wrangler.mjs`.
#
# Last generated using `./wrangler.mjs` Feb 27, 2024 1:41 PM UTC.
# Last generated using `./wrangler.mjs` Feb 27, 2024 5:27 PM UTC.
##

send_metrics = false
Expand Down

0 comments on commit d54cc8a

Please sign in to comment.