fix: proper error handler (#23)

* re use legacy errors

* 8.3.6-alpha
This commit is contained in:
Indrawan I.
2026-05-14 09:56:52 +07:00
committed by GitHub
parent e92cb6ca8a
commit 67be3acc6e
3 changed files with 71 additions and 82 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "lustpress",
"version": "8.3.5-alpha",
"version": "8.3.6-alpha",
"description": "RESTful and experimental API for PH and other R18 websites",
"main": "src/index.ts",
"scripts": {

View File

@@ -88,18 +88,7 @@ class LustPress {
const domain = new URL(url).hostname;
const headers: Record<string, string> = {
"User-Agent": isPornhub ? this.browserUA : this.useragent,
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"Accept-Language": "en-US,en;q=0.9",
"Accept-Encoding": "gzip, deflate, br",
"Sec-Ch-Ua": '"Chromium";v="116", "Not)A;Brand";v="24", "Google Chrome";v="116"',
"Sec-Ch-Ua-Mobile": "?0",
"Sec-Ch-Ua-Platform": '"Windows"',
"Sec-Fetch-Dest": "document",
"Sec-Fetch-Mode": "navigate",
"Sec-Fetch-Site": "none",
"Sec-Fetch-User": "?1",
"Upgrade-Insecure-Requests": "1"
"User-Agent": isPornhub ? this.browserUA : this.useragent
};
if (isPornhub) {

View File

@@ -1,69 +1,69 @@
import { Elysia } from "elysia";
import { cors } from "@elysiajs/cors";
import { swagger } from "@elysiajs/swagger";
import { lust } from "./LustPress";
import { scrapeRoutes } from "./router/endpoint";
import pkg from "../package.json";
const app = new Elysia()
.use(cors())
.use(
swagger({
path: "/docs",
documentation: {
info: {
title: "Lustpress API",
version: pkg.version,
description: pkg.description,
},
},
})
)
.get("/", async () => ({
success: true,
playground: "https://sinkaroid.github.io/lustpress",
endpoint:
"https://github.com/sinkaroid/lustpress/blob/master/README.md#routing",
date: new Date().toLocaleString(),
rss: lust.currentProccess().rss,
heap: lust.currentProccess().heap,
server: await lust.getServer(),
version: pkg.version,
}))
.onError(({ code, error, set }) => {
if (code === "NOT_FOUND") {
set.status = 404;
return {
success: false,
message: (error as Error).message || "Not Found",
};
}
if (code === "VALIDATION") {
set.status = 400;
return {
success: false,
message: JSON.parse((error as Error).message)[0]?.message || "Validation Error",
};
}
if (code === "UNKNOWN") {
set.status = 400;
return {
success: false,
message: (error as Error).message,
};
}
set.status = 500;
return {
success: false,
message: (error as Error).message || "Internal Server Error",
stack: (error as Error).stack,
};
})
.use(scrapeRoutes)
.listen(process.env.PORT || 3000);
console.log(
`Lustpress is running at ${app.server?.hostname}:${app.server?.port}`
);
export type App = typeof app;
import { Elysia } from "elysia";
import { cors } from "@elysiajs/cors";
import { swagger } from "@elysiajs/swagger";
import { lust } from "./LustPress";
import { scrapeRoutes } from "./router/endpoint";
import pkg from "../package.json";
const app = new Elysia()
.use(cors())
.use(
swagger({
path: "/docs",
documentation: {
info: {
title: "Lustpress API",
version: pkg.version,
description: pkg.description,
},
},
})
)
.get("/", async () => ({
success: true,
playground: "https://sinkaroid.github.io/lustpress",
endpoint:
"https://github.com/sinkaroid/lustpress/blob/master/README.md#routing",
date: new Date().toLocaleString(),
rss: lust.currentProccess().rss,
heap: lust.currentProccess().heap,
server: await lust.getServer(),
version: pkg.version,
}))
.onError(({ code, error, set }) => {
if (code === "NOT_FOUND") {
set.status = 404;
return {
success: false,
message: (error as Error).message || "Not Found",
};
}
if (code === "VALIDATION") {
set.status = 400;
return {
success: false,
message: JSON.parse((error as Error).message)[0]?.message || "Validation Error",
};
}
if (code === "UNKNOWN") {
set.status = 400;
return {
success: false,
message: (error as Error).message,
};
}
set.status = 500;
return {
success: false,
message: (error as Error).message || "Internal Server Error",
stack: (error as Error).stack,
};
})
.use(scrapeRoutes) // reuse legacy error handling
.listen(process.env.PORT || 3000);
console.log(
`Lustpress is running at ${app.server?.hostname}:${app.server?.port}`
);
export type App = typeof app;