mirror of
https://github.com/shuaiplus/nodewarden.git
synced 2026-06-20 21:00:41 +00:00
feat: update routing regex patterns for improved API path matching
This commit is contained in:
+9
-9
@@ -314,7 +314,7 @@ export async function handleRequest(request: Request, env: Env): Promise<Respons
|
|||||||
return handleAccessSendV2(request, env);
|
return handleAccessSendV2(request, env);
|
||||||
}
|
}
|
||||||
|
|
||||||
const sendAccessFileV2Match = path.match(/^\/api\/sends\/access\/file\/([a-f0-9-]+)$/i);
|
const sendAccessFileV2Match = path.match(/^\/api\/sends\/access\/file\/([^/]+)\/?$/i);
|
||||||
if (sendAccessFileV2Match && method === 'POST') {
|
if (sendAccessFileV2Match && method === 'POST') {
|
||||||
const blocked = await enforcePublicRateLimit();
|
const blocked = await enforcePublicRateLimit();
|
||||||
if (blocked) return blocked;
|
if (blocked) return blocked;
|
||||||
@@ -322,7 +322,7 @@ export async function handleRequest(request: Request, env: Env): Promise<Respons
|
|||||||
return handleAccessSendFileV2(request, env, fileId);
|
return handleAccessSendFileV2(request, env, fileId);
|
||||||
}
|
}
|
||||||
|
|
||||||
const sendAccessFileMatch = path.match(/^\/api\/sends\/([^/]+)\/access\/file\/([a-f0-9-]+)$/i);
|
const sendAccessFileMatch = path.match(/^\/api\/sends\/([^/]+)\/access\/file\/([^/]+)\/?$/i);
|
||||||
if (sendAccessFileMatch && method === 'POST') {
|
if (sendAccessFileMatch && method === 'POST') {
|
||||||
const blocked = await enforcePublicRateLimit();
|
const blocked = await enforcePublicRateLimit();
|
||||||
if (blocked) return blocked;
|
if (blocked) return blocked;
|
||||||
@@ -331,7 +331,7 @@ export async function handleRequest(request: Request, env: Env): Promise<Respons
|
|||||||
return handleAccessSendFile(request, env, idOrAccessId, fileId);
|
return handleAccessSendFile(request, env, idOrAccessId, fileId);
|
||||||
}
|
}
|
||||||
|
|
||||||
const sendDownloadMatch = path.match(/^\/api\/sends\/([a-f0-9-]+)\/([a-f0-9-]+)$/i);
|
const sendDownloadMatch = path.match(/^\/api\/sends\/([^/]+)\/([^/]+)\/?$/i);
|
||||||
if (sendDownloadMatch && method === 'GET') {
|
if (sendDownloadMatch && method === 'GET') {
|
||||||
const sendId = sendDownloadMatch[1];
|
const sendId = sendDownloadMatch[1];
|
||||||
const fileId = sendDownloadMatch[2];
|
const fileId = sendDownloadMatch[2];
|
||||||
@@ -648,11 +648,11 @@ export async function handleRequest(request: Request, env: Env): Promise<Respons
|
|||||||
if (method === 'POST') return handleCreateSend(request, env, userId);
|
if (method === 'POST') return handleCreateSend(request, env, userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (path === '/api/sends/file/v2' && method === 'POST') {
|
if ((path === '/api/sends/file/v2' || path === '/api/sends/file') && method === 'POST') {
|
||||||
return handleCreateFileSendV2(request, env, userId);
|
return handleCreateFileSendV2(request, env, userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
const sendMatch = path.match(/^\/api\/sends\/([a-f0-9-]+)(\/.*)?$/i);
|
const sendMatch = path.match(/^\/api\/sends\/([^/]+)(\/.*)?$/i);
|
||||||
if (sendMatch) {
|
if (sendMatch) {
|
||||||
const sendId = sendMatch[1];
|
const sendId = sendMatch[1];
|
||||||
const subPath = sendMatch[2] || '';
|
const subPath = sendMatch[2] || '';
|
||||||
@@ -663,19 +663,19 @@ export async function handleRequest(request: Request, env: Env): Promise<Respons
|
|||||||
if (method === 'DELETE') return handleDeleteSend(request, env, userId, sendId);
|
if (method === 'DELETE') return handleDeleteSend(request, env, userId, sendId);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (subPath === '/remove-password' && method === 'PUT') {
|
if (subPath === '/remove-password' && (method === 'PUT' || method === 'POST')) {
|
||||||
return handleRemoveSendPassword(request, env, userId, sendId);
|
return handleRemoveSendPassword(request, env, userId, sendId);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (subPath === '/remove-auth' && method === 'PUT') {
|
if (subPath === '/remove-auth' && (method === 'PUT' || method === 'POST')) {
|
||||||
return handleRemoveSendAuth(request, env, userId, sendId);
|
return handleRemoveSendAuth(request, env, userId, sendId);
|
||||||
}
|
}
|
||||||
|
|
||||||
const sendFileUploadMatch = subPath.match(/^\/file\/([a-f0-9-]+)$/i);
|
const sendFileUploadMatch = subPath.match(/^\/file\/([^/]+)\/?$/i);
|
||||||
if (sendFileUploadMatch) {
|
if (sendFileUploadMatch) {
|
||||||
const fileId = sendFileUploadMatch[1];
|
const fileId = sendFileUploadMatch[1];
|
||||||
if (method === 'GET') return handleGetSendFileUpload(request, env, userId, sendId, fileId);
|
if (method === 'GET') return handleGetSendFileUpload(request, env, userId, sendId, fileId);
|
||||||
if (method === 'POST') return handleUploadSendFile(request, env, userId, sendId, fileId);
|
if (method === 'POST' || method === 'PUT') return handleUploadSendFile(request, env, userId, sendId, fileId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Submodule
+1
Submodule tmp/bitwarden-android added at 60bc6ee0ca
Submodule
+1
Submodule tmp/bitwarden-clients added at cfa4b1c27f
Submodule
+1
Submodule tmp/bitwarden-ios added at ace6e2b2dd
Submodule
+1
Submodule tmp/bitwarden-sdk added at ffdbb49e65
+11
-1
@@ -16,7 +16,17 @@ export default defineConfig({
|
|||||||
build: {
|
build: {
|
||||||
outDir: path.resolve(rootDir, '../dist'),
|
outDir: path.resolve(rootDir, '../dist'),
|
||||||
emptyOutDir: true,
|
emptyOutDir: true,
|
||||||
sourcemap: true,
|
sourcemap: false,
|
||||||
|
target: 'esnext',
|
||||||
|
rollupOptions: {
|
||||||
|
output: {
|
||||||
|
manualChunks: {
|
||||||
|
vendor: ['preact', 'preact/hooks', 'preact/jsx-runtime'],
|
||||||
|
query: ['@tanstack/react-query'],
|
||||||
|
icons: ['lucide-preact'],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
server: {
|
server: {
|
||||||
port: 5173,
|
port: 5173,
|
||||||
|
|||||||
Reference in New Issue
Block a user