# System.Net.Http

**Kind:** Service

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

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

NuGet package dependency

`System.Net.Http` is a NuGet package dependency declared in `Pams/HelperTool/HelperTool.csproj`. It supplies .NET HTTP client types for HelperTool code that sends requests to external HTTP services and processes their responses.

## Diagram

```mermaid
sequenceDiagram
    participant HelperTool
    participant SystemNetHttp as System.Net.Http
    participant ExternalService

    HelperTool->>SystemNetHttp: Create HTTP request
    SystemNetHttp->>ExternalService: Send request
    ExternalService-->>SystemNetHttp: Return HTTP response
    SystemNetHttp-->>HelperTool: Return response content
```

## Usage

```ts
const helperToolUrl = process.env.HELPER_TOOL_URL;

if (!helperToolUrl) {
  throw new Error("HELPER_TOOL_URL is required");
}

const response = await fetch(`${helperToolUrl}/api/request`, {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    url: "https://example.com/data",
  }),
});

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

const result = await response.json();
console.log(result);
```

## AI Coding Instructions

- Keep `System.Net.Http` declared as a NuGet dependency in `Pams/HelperTool/HelperTool.csproj`.
- Use .NET HTTP client types from this package for outbound requests made by HelperTool.
- Check HTTP status codes before reading response data, and handle request failures explicitly.
- Treat this as a legacy-format package reference when editing the project file.
