# Microsoft.Owin.Host.SystemWeb

**Kind:** Service

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

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

NuGet package dependency

`Microsoft.Owin.Host.SystemWeb` is a NuGet package dependency in `Pams.API.csproj` that hosts the OWIN pipeline within ASP.NET System.Web. It connects OWIN middleware and application startup code to the IIS-hosted Pams API.

## Diagram

```mermaid
flowchart TD
    Client[JavaScript Client] --> IIS[IIS / ASP.NET System.Web]
    IIS --> OwinHost[Microsoft.Owin.Host.SystemWeb]
    OwinHost --> OwinPipeline[OWIN Middleware Pipeline]
    OwinPipeline --> PamsApi[Pams API]
    PamsApi --> Response[HTTP Response]
```

## Usage

```ts
async function getPamsData() {
  const response = await fetch("/api/pams");

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

  return response.json();
}

getPamsData().then((data) => {
  console.log(data);
});
```

## AI Coding Instructions

- Keep `Microsoft.Owin.Host.SystemWeb` referenced in `Pams.API.csproj` when the API is hosted through IIS and ASP.NET System.Web.
- Configure OWIN middleware in the application startup path so it runs through the System.Web host.
- Do not treat this package as a client-side JavaScript dependency; browser code calls endpoints hosted by the OWIN application.
- Check package compatibility before changing OWIN, System.Web, or IIS hosting dependencies in the legacy project file.
