mirror of
https://github.com/whit3rabbit/anyllm-proxy.git
synced 2026-09-22 08:00:51 +00:00
Merge PR #42: fix: enforce virtual key policy after auto routing
This commit is contained in:
@@ -103,6 +103,15 @@ pub(crate) async fn chat_completions(
|
||||
state.resolve_router_tier(&rc, &signals)
|
||||
})
|
||||
});
|
||||
if let (Some(ref ctx), Some((model, _, _))) = (&vk_ctx, &router_tier) {
|
||||
if !crate::server::policy::is_model_allowed(model, &ctx.allowed_models) {
|
||||
return openai_error_response(
|
||||
&format!("Model '{model}' is not allowed for this API key."),
|
||||
"permission_error",
|
||||
StatusCode::FORBIDDEN,
|
||||
);
|
||||
}
|
||||
}
|
||||
let (mapped_model, effective, deployment) = match router_tier {
|
||||
Some((model, effective, deployment)) => (
|
||||
mapped_model_for_backend(&original_model, model, &effective),
|
||||
|
||||
@@ -104,6 +104,16 @@ pub(crate) async fn messages(
|
||||
}
|
||||
None => (body, None),
|
||||
};
|
||||
if let (Some(ref ctx), Some((model, _, _))) = (&vk_ctx, &router_tier) {
|
||||
if !super::super::policy::is_model_allowed(model, &ctx.allowed_models) {
|
||||
let err = mapping::errors_map::create_anthropic_error(
|
||||
anthropic::ErrorType::PermissionError,
|
||||
format!("Model '{model}' is not allowed for this API key."),
|
||||
None,
|
||||
);
|
||||
return (StatusCode::FORBIDDEN, Json(err)).into_response();
|
||||
}
|
||||
}
|
||||
let (mapped_model, effective, deployment) = match router_tier {
|
||||
Some(v) => v,
|
||||
None => match state.resolve_model_and_state(&body.model) {
|
||||
|
||||
Reference in New Issue
Block a user