mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-11-12 17:56:50 +00:00
* fix: Mask Email Addresses and Drop Personal Identifiers from Logs * fix: Log User IDs in OpenID Admin Role and LDAP Domain Block Messages * fix: Mask Unicode Email Addresses in Log Redaction * test: Add Log Email Masking Scenarios * fix: Bound the Email Redaction Matcher and Handle Quoted Local Parts * fix: Mask Quoted and Special-Character Email Local Parts * fix: Redact Whole Email Tokens, Top-Level Log Fields and Metadata Keys * fix: Redact Top-Level Metadata Keys and Escaped Quotes in Email Local Parts * fix: Redact Truncated Emails, Address Literals and Request Paths in Logs * fix: Redact the Full Log String Before Truncating * fix: Preserve Colliding and Object Keys When Redacting Log Metadata * fix: Bound Log Redaction to a Window Past the Truncation Limit * fix: Redact the Truncation Window Without a Whitespace Cut * fix: Redact Serialized Quoted Addresses and Keep Key Collisions Linear * fix: Bound Every Log Redaction Path and the URL Credential Pattern * fix: Keep Long-Scheme Credential Redaction and Serialized Escaped Quotes * test: Cover Every Secret Shape Across the Log Truncation Cap * fix: Drop Unfinished Window Tokens, Mask Short TLDs and Redact Direct Error Stacks * fix: Treat Input End as a Token Boundary and Mask Parenthesized Identifiers * fix: Remove the Quoted Local Part Length Cap Without Quadratic Scans * fix: Drop an Unfinished Quoted Address at the Window Edge * fix: Check Quoted Locals Before Accepting a Window Delimiter * fix: Count Only Opening Quotes When Trimming the Window * fix: Track Unmatched Quoted Locals Instead of Counting Closing Quotes * fix: Lift Residual Email Caps, Keep Punctuated Credential URIs Masked and Move OBO Log Id to the API Package * fix: Mask Empty Quoted Locals and Tolerate Read-Only Log Fields * fix: Return a Sanitized Copy When a Log Field Cannot Be Replaced * fix: Treat a Failed Key Removal as a Failed Replacement and Guard Stack Writes * fix: Skip Heavy Error Graphs and Accept Escaped Backslashes in Serialized Locals * fix: Accept Lone Escaped Backslashes in Serialized Locals Without Rescans * fix: Compact Axios Request Info Before Redaction and Skip Heavy Splat Error Graphs * fix: Redact Address Keys on Nested Error Objects * fix: Materialize and Redact Enumerable Getters on Nested Errors * fix: Guard Throwing Top-Level Getters and Skip Heavy Fields Only on Error Records * fix: Skip Serialized Quotes When Trimming an Unfinished Address * fix: Bound Redaction With a Per-Record Node Budget and Accept JSON Control Escapes * fix: Match Credential URIs From the Separator So Scheme Length Is Unbounded * fix: Count Strings Against the Redaction Budget and Guard Nested Getters * fix: Rebuild the Log Record When a Top-Level Accessor Ignores Writes * fix: Rebuild the Log Record When a Stack Accessor Ignores Writes * fix: Guard the Initial Stack Read on Direct Error Logs * fix: Accept Escaped Solidus and Preserve the Outer Budget on Reentrant Logging * fix: Guard the Axios Marker and Error-Like Probes Against Throwing Getters * fix: Guard the Axios Marker on Nested Errors * fix: Replace Skipped Heavy Fields Up Front, Budget Top-Level Fields and Mask Encoded Emails * fix: Mask Encoded Address Keys and Guard Nested Axios Config Compaction * fix: Redact URL Objects in Compact Request Info * fix: Remove Encoded Email Caps and Strip Serializer Hooks From Clones * fix: Strip Serializer Hooks From Error Clones and Top-Level Records * fix: Neutralize Inherited Serializer Hooks on Log Records * fix: Guard the Serializer Hook Probe * fix: Replace Function Values in Log Records * fix: Mask Percent-Encoded Domain Separators in Logged URLs * fix: Bound the Encoded Email Domain at URL Delimiters * fix: Shadow Throwing Serializer Getters on Nested Errors * fix: Rebuild Accessor Messages and Mask Doubly Encoded Addresses * fix: Redact Multiply Encoded Address Keys * feat: Make the Log Redaction Node Budget Configurable * fix: Guard Message and Serializer Property Reads * fix: Contain Proxy Failures and Redact the Compact Request Method
24 lines
866 B
JavaScript
24 lines
866 B
JavaScript
const { logger } = require('@librechat/data-schemas');
|
|
const { getForwardedHeaders } = require('@librechat/api');
|
|
|
|
/**
|
|
* Middleware to log Forwarded Headers
|
|
* @function
|
|
* @param {ServerRequest} req - Express request object containing user information.
|
|
* @param {ServerResponse} res - Express response object.
|
|
* @param {import('express').NextFunction} next - Next middleware function.
|
|
* @throws {Error} Throws an error if the user exceeds the concurrent request limit.
|
|
*/
|
|
const logHeaders = (req, res, next) => {
|
|
try {
|
|
const forwardedHeaders = getForwardedHeaders(req.headers);
|
|
if (Object.keys(forwardedHeaders).length > 0) {
|
|
logger.debug('X-Forwarded headers detected in OAuth request:', forwardedHeaders);
|
|
}
|
|
} catch (error) {
|
|
logger.error('Error logging X-Forwarded headers:', error);
|
|
}
|
|
next();
|
|
};
|
|
|
|
module.exports = logHeaders;
|