mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-07-31 04:12:10 +03:00
fix(antigravity): scrub internal OmniRoute headers (#1794)
Integrated into release/v3.7.5
This commit is contained in:
@@ -52,7 +52,8 @@ export function scrubProxyAndFingerprintHeaders(
|
||||
): Record<string, string> {
|
||||
const cleaned: Record<string, string> = {};
|
||||
for (const [key, value] of Object.entries(headers)) {
|
||||
if (!HEADERS_TO_REMOVE.includes(key.toLowerCase())) {
|
||||
const lowerKey = key.toLowerCase();
|
||||
if (!lowerKey.startsWith("x-omniroute-") && !HEADERS_TO_REMOVE.includes(lowerKey)) {
|
||||
cleaned[key] = value;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ import assert from "node:assert/strict";
|
||||
|
||||
import { AntigravityExecutor } from "../../open-sse/executors/antigravity.ts";
|
||||
import { setCliCompatProviders } from "../../open-sse/config/cliFingerprints.ts";
|
||||
import { scrubProxyAndFingerprintHeaders } from "../../open-sse/services/antigravityHeaderScrub.ts";
|
||||
import {
|
||||
clearAntigravityVersionCache,
|
||||
seedAntigravityVersionCache,
|
||||
@@ -43,13 +44,28 @@ test("AntigravityExecutor.buildUrl always targets the streaming endpoint", () =>
|
||||
);
|
||||
});
|
||||
|
||||
test("AntigravityExecutor.buildHeaders includes auth and SSE accept", () => {
|
||||
test("AntigravityExecutor.buildHeaders includes native headers without OmniRoute internals", () => {
|
||||
const executor = new AntigravityExecutor();
|
||||
const headers = executor.buildHeaders({ accessToken: "ag-token" }, false);
|
||||
|
||||
assert.equal(headers.Authorization, "Bearer ag-token");
|
||||
assert.equal(headers.Accept, "text/event-stream");
|
||||
assert.equal(headers["X-OmniRoute-Source"], "omniroute");
|
||||
assert.equal(headers["X-OmniRoute-Source"], undefined);
|
||||
});
|
||||
|
||||
test("Antigravity header scrub removes OmniRoute internal headers", () => {
|
||||
const headers = scrubProxyAndFingerprintHeaders({
|
||||
Authorization: "Bearer ag-token",
|
||||
"X-OmniRoute-Source": "omniroute",
|
||||
"X-OmniRoute-No-Cache": "true",
|
||||
"X-Forwarded-For": "127.0.0.1",
|
||||
});
|
||||
|
||||
assert.equal(headers.Authorization, "Bearer ag-token");
|
||||
assert.equal(headers["X-OmniRoute-Source"], undefined);
|
||||
assert.equal(headers["X-OmniRoute-No-Cache"], undefined);
|
||||
assert.equal(headers["X-Forwarded-For"], undefined);
|
||||
assert.equal(headers["Accept-Encoding"], "gzip, deflate, br");
|
||||
});
|
||||
|
||||
test("AntigravityExecutor.transformRequest normalizes model, project and contents", async () => {
|
||||
|
||||
Reference in New Issue
Block a user