@rpcbase/server 0.583.0 → 0.585.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Request, RequestHandler } from 'express';
|
|
2
|
+
export declare const isDevelopmentAssetRequest: (req: Request) => boolean;
|
|
3
|
+
export declare const developmentSessionMiddleware: (sessionMiddleware: RequestHandler) => RequestHandler;
|
|
4
|
+
//# sourceMappingURL=developmentSessionMiddleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"developmentSessionMiddleware.d.ts","sourceRoot":"","sources":["../src/developmentSessionMiddleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,SAAS,CAAA;AAwCpD,eAAO,MAAM,yBAAyB,GAAI,KAAK,OAAO,KAAG,OAQxD,CAAA;AAED,eAAO,MAAM,4BAA4B,GAAI,mBAAmB,cAAc,KAAG,cAShF,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -4254,6 +4254,32 @@ function registerDevCoverageEndpoints(app) {
|
|
|
4254
4254
|
}
|
|
4255
4255
|
});
|
|
4256
4256
|
}
|
|
4257
|
+
const vitePathPrefixes = ["/@fs", "/@id", "/@react-refresh", "/@vite", "/node_modules", "/src"];
|
|
4258
|
+
const assetDestinations = /* @__PURE__ */ new Set(["audio", "audioworklet", "embed", "font", "image", "manifest", "object", "paintworklet", "script", "serviceworker", "sharedworker", "style", "track", "video", "worker", "xslt"]);
|
|
4259
|
+
const isPathAtOrBelow = (requestPath, prefix) => {
|
|
4260
|
+
return requestPath === prefix || requestPath.startsWith(`${prefix}/`);
|
|
4261
|
+
};
|
|
4262
|
+
const getHeader = (req, name) => {
|
|
4263
|
+
const value = req.headers[name];
|
|
4264
|
+
return Array.isArray(value) ? value[0] ?? "" : value ?? "";
|
|
4265
|
+
};
|
|
4266
|
+
const isDevelopmentAssetRequest = (req) => {
|
|
4267
|
+
if (req.method !== "GET" && req.method !== "HEAD") return false;
|
|
4268
|
+
if (isPathAtOrBelow(req.path, "/api")) return false;
|
|
4269
|
+
if (getHeader(req, "accept") === "text/x-vite-ping") return true;
|
|
4270
|
+
if (vitePathPrefixes.some((prefix) => isPathAtOrBelow(req.path, prefix))) return true;
|
|
4271
|
+
const destination = getHeader(req, "sec-fetch-dest").toLowerCase();
|
|
4272
|
+
return assetDestinations.has(destination) && path.posix.extname(req.path) !== "";
|
|
4273
|
+
};
|
|
4274
|
+
const developmentSessionMiddleware = (sessionMiddleware) => {
|
|
4275
|
+
return (req, res, next) => {
|
|
4276
|
+
if (isDevelopmentAssetRequest(req)) {
|
|
4277
|
+
next();
|
|
4278
|
+
return;
|
|
4279
|
+
}
|
|
4280
|
+
sessionMiddleware(req, res, next);
|
|
4281
|
+
};
|
|
4282
|
+
};
|
|
4257
4283
|
process.env = {
|
|
4258
4284
|
...env,
|
|
4259
4285
|
...__rb_env__,
|
|
@@ -4377,7 +4403,7 @@ const initServer = async (app, serverEnv) => {
|
|
|
4377
4403
|
if (!isProduction$1) {
|
|
4378
4404
|
registerDevCoverageEndpoints(app);
|
|
4379
4405
|
}
|
|
4380
|
-
app.use(sessionMiddleware);
|
|
4406
|
+
app.use(isProduction$1 ? sessionMiddleware : developmentSessionMiddleware(sessionMiddleware));
|
|
4381
4407
|
app.use(syncAuthenticatedSessionMiddleware);
|
|
4382
4408
|
return {
|
|
4383
4409
|
sessionMiddleware
|