mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-01-23 02:36:12 +01:00
refactor resolveHeaders
This commit is contained in:
parent
eec10bf745
commit
d37db43e29
10 changed files with 78 additions and 63 deletions
|
|
@ -36,12 +36,12 @@ describe('resolveHeaders', () => {
|
|||
});
|
||||
|
||||
it('should return empty object when headers is null', () => {
|
||||
const result = resolveHeaders(null as unknown as Record<string, string> | undefined);
|
||||
const result = resolveHeaders({ headers: null as unknown as Record<string, string> | null });
|
||||
expect(result).toEqual({});
|
||||
});
|
||||
|
||||
it('should return empty object when headers is empty', () => {
|
||||
const result = resolveHeaders({});
|
||||
const result = resolveHeaders({ headers: {} });
|
||||
expect(result).toEqual({});
|
||||
});
|
||||
|
||||
|
|
@ -52,7 +52,7 @@ describe('resolveHeaders', () => {
|
|||
'Content-Type': 'application/json',
|
||||
};
|
||||
|
||||
const result = resolveHeaders(headers);
|
||||
const result = resolveHeaders({ headers });
|
||||
|
||||
expect(result).toEqual({
|
||||
Authorization: 'test-api-key-value',
|
||||
|
|
@ -68,7 +68,7 @@ describe('resolveHeaders', () => {
|
|||
'Content-Type': 'application/json',
|
||||
};
|
||||
|
||||
const result = resolveHeaders(headers, user);
|
||||
const result = resolveHeaders({ headers, user });
|
||||
|
||||
expect(result).toEqual({
|
||||
'User-Id': 'test-user-123',
|
||||
|
|
@ -82,7 +82,7 @@ describe('resolveHeaders', () => {
|
|||
'Content-Type': 'application/json',
|
||||
};
|
||||
|
||||
const result = resolveHeaders(headers);
|
||||
const result = resolveHeaders({ headers });
|
||||
|
||||
expect(result).toEqual({
|
||||
'User-Id': '{{LIBRECHAT_USER_ID}}',
|
||||
|
|
@ -97,7 +97,7 @@ describe('resolveHeaders', () => {
|
|||
'Content-Type': 'application/json',
|
||||
};
|
||||
|
||||
const result = resolveHeaders(headers, user);
|
||||
const result = resolveHeaders({ headers, user });
|
||||
|
||||
expect(result).toEqual({
|
||||
'User-Id': '{{LIBRECHAT_USER_ID}}',
|
||||
|
|
@ -123,7 +123,7 @@ describe('resolveHeaders', () => {
|
|||
'Content-Type': 'application/json',
|
||||
};
|
||||
|
||||
const result = resolveHeaders(headers, user);
|
||||
const result = resolveHeaders({ headers, user });
|
||||
|
||||
expect(result).toEqual({
|
||||
'User-Email': 'test@example.com',
|
||||
|
|
@ -148,7 +148,7 @@ describe('resolveHeaders', () => {
|
|||
'Non-Existent': '{{LIBRECHAT_USER_NONEXISTENT}}',
|
||||
};
|
||||
|
||||
const result = resolveHeaders(headers, user);
|
||||
const result = resolveHeaders({ headers, user });
|
||||
|
||||
expect(result).toEqual({
|
||||
'User-Email': 'test@example.com',
|
||||
|
|
@ -171,7 +171,7 @@ describe('resolveHeaders', () => {
|
|||
'X-User-Id': '{{LIBRECHAT_USER_ID}}',
|
||||
};
|
||||
|
||||
const result = resolveHeaders(headers, user, customUserVars);
|
||||
const result = resolveHeaders({ headers, user, customUserVars });
|
||||
|
||||
expect(result).toEqual({
|
||||
Authorization: 'Bearer user-specific-token',
|
||||
|
|
@ -194,7 +194,7 @@ describe('resolveHeaders', () => {
|
|||
'Test-Email': '{{LIBRECHAT_USER_EMAIL}}',
|
||||
};
|
||||
|
||||
const result = resolveHeaders(headers, user, customUserVars);
|
||||
const result = resolveHeaders({ headers, user, customUserVars });
|
||||
|
||||
expect(result).toEqual({
|
||||
'Test-Email': 'custom-email@example.com',
|
||||
|
|
@ -213,7 +213,7 @@ describe('resolveHeaders', () => {
|
|||
'User-Id': '{{LIBRECHAT_USER_ID}}',
|
||||
};
|
||||
|
||||
const result = resolveHeaders(headers, user);
|
||||
const result = resolveHeaders({ headers, user });
|
||||
|
||||
expect(result).toEqual({
|
||||
'User-Role': 'admin',
|
||||
|
|
@ -233,7 +233,7 @@ describe('resolveHeaders', () => {
|
|||
'Backup-Email': '{{LIBRECHAT_USER_EMAIL}}',
|
||||
};
|
||||
|
||||
const result = resolveHeaders(headers, user);
|
||||
const result = resolveHeaders({ headers, user });
|
||||
|
||||
expect(result).toEqual({
|
||||
'Primary-Email': 'test@example.com',
|
||||
|
|
@ -259,7 +259,7 @@ describe('resolveHeaders', () => {
|
|||
'Content-Type': 'application/json',
|
||||
};
|
||||
|
||||
const result = resolveHeaders(headers, user, customUserVars);
|
||||
const result = resolveHeaders({ headers, user, customUserVars });
|
||||
|
||||
expect(result).toEqual({
|
||||
Authorization: 'Bearer secret-token',
|
||||
|
|
@ -277,7 +277,7 @@ describe('resolveHeaders', () => {
|
|||
};
|
||||
const user = { id: 'user-123' };
|
||||
|
||||
const result = resolveHeaders(originalHeaders, user);
|
||||
const result = resolveHeaders({ headers: originalHeaders, user });
|
||||
|
||||
// Verify the result is processed
|
||||
expect(result).toEqual({
|
||||
|
|
@ -306,7 +306,7 @@ describe('resolveHeaders', () => {
|
|||
'Dot-Header': '{{CUSTOM.VAR}}',
|
||||
};
|
||||
|
||||
const result = resolveHeaders(headers, user, customUserVars);
|
||||
const result = resolveHeaders({ headers, user, customUserVars });
|
||||
|
||||
expect(result).toEqual({
|
||||
'Dash-Header': 'dash-value',
|
||||
|
|
@ -357,7 +357,7 @@ describe('resolveHeaders', () => {
|
|||
'X-User-TermsAccepted': '{{LIBRECHAT_USER_TERMSACCEPTED}}',
|
||||
};
|
||||
|
||||
const result = resolveHeaders(headers, user);
|
||||
const result = resolveHeaders({ headers, user });
|
||||
|
||||
expect(result['X-User-ID']).toBe('abc');
|
||||
expect(result['X-User-Name']).toBe('Test User');
|
||||
|
|
@ -384,7 +384,7 @@ describe('resolveHeaders', () => {
|
|||
'X-Multi': 'User: {{LIBRECHAT_USER_ID}}, Env: ${TEST_API_KEY}, Custom: {{MY_CUSTOM}}',
|
||||
};
|
||||
const customVars = { MY_CUSTOM: 'custom-value' };
|
||||
const result = resolveHeaders(headers, user, customVars);
|
||||
const result = resolveHeaders({ headers, user, customUserVars: customVars });
|
||||
expect(result['X-Multi']).toBe('User: abc, Env: test-api-key-value, Custom: custom-value');
|
||||
});
|
||||
|
||||
|
|
@ -394,7 +394,7 @@ describe('resolveHeaders', () => {
|
|||
'X-Unknown': '{{SOMETHING_NOT_RECOGNIZED}}',
|
||||
'X-Known': '{{LIBRECHAT_USER_ID}}',
|
||||
};
|
||||
const result = resolveHeaders(headers, user);
|
||||
const result = resolveHeaders({ headers, user });
|
||||
expect(result['X-Unknown']).toBe('{{SOMETHING_NOT_RECOGNIZED}}');
|
||||
expect(result['X-Known']).toBe('abc');
|
||||
});
|
||||
|
|
@ -416,7 +416,7 @@ describe('resolveHeaders', () => {
|
|||
'X-Boolean': '{{LIBRECHAT_USER_EMAILVERIFIED}}',
|
||||
};
|
||||
const customVars = { MY_CUSTOM: 'custom-value' };
|
||||
const result = resolveHeaders(headers, user, customVars);
|
||||
const result = resolveHeaders({ headers, user, customUserVars: customVars });
|
||||
|
||||
expect(result['X-User']).toBe('abc');
|
||||
expect(result['X-Env']).toBe('test-api-key-value');
|
||||
|
|
@ -430,7 +430,7 @@ describe('resolveHeaders', () => {
|
|||
it('should process LIBRECHAT_BODY placeholders', () => {
|
||||
const body = { conversationId: 'conv-123', parentMessageId: 'parent-456', messageId: 'msg-789' };
|
||||
const headers = { 'X-Conversation': '{{LIBRECHAT_BODY_CONVERSATIONID}}' };
|
||||
const result = resolveHeaders(headers, undefined, undefined, body);
|
||||
const result = resolveHeaders({ headers, body });
|
||||
expect(result['X-Conversation']).toBe('conv-123');
|
||||
});
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue