import type { IncomingMessage } from "node:http"; import {
getHeader,
resolveTrustedHttpOperatorScopes,
type AuthorizedGatewayHttpRequest,
} from "../http-utils.js"; import { CLI_DEFAULT_OPERATOR_SCOPES, WRITE_SCOPE } from "../method-scopes.js";
export type PluginRouteRuntimeScopeSurface = "write-default" | "trusted-operator";
export function resolvePluginRouteRuntimeOperatorScopes(
req: IncomingMessage,
requestAuth: AuthorizedGatewayHttpRequest,
surface: PluginRouteRuntimeScopeSurface = "write-default",
): string[] { if (surface === "trusted-operator") { if (!requestAuth.trustDeclaredOperatorScopes) { return [...CLI_DEFAULT_OPERATOR_SCOPES];
} return resolveTrustedHttpOperatorScopes(req, requestAuth);
} if (requestAuth.authMethod !== "trusted-proxy") { return [WRITE_SCOPE];
} if (getHeader(req, "x-openclaw-scopes") === undefined) { return [WRITE_SCOPE];
} return resolveTrustedHttpOperatorScopes(req, requestAuth);
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-06-05)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.