Skip to content

ui-router-server / ui-router-server / Verdict

Type Alias: Verdict

ts
type Verdict = 
  | {
  kind: "shell";
  mount: string;
  status?: number;
}
  | {
  kind: "redirect";
  location: string;
  mount: string;
  status: number;
}
  | {
  kind: "notFound";
  mount?: string;
};

Defined in: index.ts:67

Union Members

Type Literal

ts
{
  kind: "shell";
  mount: string;
  status?: number;
}

Serve the app shell. Status precedence: when status is absent, serve the shell however you normally would — including 304 conditional responses. When it is set (404 via the otherwise projection today; 401/403-with-shell for a future auth tier), the verdict's status wins outright — and you must suppress the conditional path BY STRIPPING the request's validators (If-None-Match, If-Modified-Since) before the assets fetch, so it returns 200 + full body to relabel. Never relabel a 304 itself: it has no body (a 404 with a null body is malformed) and would let a probe read cache freshness for a path that doesn't exist.


Type Literal

ts
{
  kind: "redirect";
  location: string;
  mount: string;
  status: number;
}

Redirect to location: the mount-joined target path, which MAY carry its own query string when the target declares search params. Callers preserving the request's search must MERGE query params into it — string concatenation (location + url.search) produces ?a=1?b=2. The matcher tier resolves pathnames only: incoming search values never flow into redirect params.


Type Literal

ts
{
  kind: "notFound";
  mount?: string;
}

mount is set when a mount owned the pathname but nothing matched (per-mount 404s); absent when no mount matched at all.