# System.Web.Routing

**Kind:** Service

**Source:** `Pams/Core/Pams.Security/Pams.Security.csproj` (line 1)

**Part of:** [Pams](subsystem-pams)

NuGet package dependency

`System.Web.Routing` is a NuGet package dependency declared in `Pams/Core/Pams.Security/Pams.Security.csproj`. It provides ASP.NET routing types that map incoming HTTP requests to handlers in the Pams.Security application.

## Diagram

```mermaid
sequenceDiagram
    participant Client
    participant App as Pams.Security Application
    participant Routes as System.Web.Routing
    participant Handler as Request Handler

    Client->>App: HTTP request
    App->>Routes: Match request path and method
    Routes->>Handler: Resolve mapped handler
    Handler-->>Client: HTTP response
```

## Usage

`System.Web.Routing` runs on the ASP.NET server. JavaScript clients call endpoints that the server maps through its route configuration.

```ts
async function getSecurityStatus() {
  const response = await fetch("/security/status", {
    method: "GET",
    headers: {
      Accept: "application/json",
    },
  });

  if (!response.ok) {
    throw new Error(`Request failed: ${response.status}`);
  }

  return response.json();
}

getSecurityStatus().then((status) => {
  console.log(status);
});
```

## AI Coding Instructions

- Keep `System.Web.Routing` references in the ASP.NET project and route configuration code.
- Configure request paths and handlers during application startup or route registration.
- Do not import `System.Web.Routing` from TypeScript or browser code; client code should call mapped HTTP endpoints.
- Preserve compatibility with the legacy project file format when changing the NuGet package reference.

## Used by

1 reference from 1 file. Each is a place in this repository where the symbol is actually used — go read one rather than trusting an example.

### Injected or called by (1)

- `Pams.Security` — `Pams/Core/Pams.Security/Pams.Security.csproj`:1
