# `Vllm.Connections.HTTPConnection`
[🔗](https://github.com/nshkrdotcom/vllm/blob/v0.3.0/lib/snakebridge_generated/vllm/connections/http_connection.ex#L7)

Helper class to send HTTP requests.

# `t`

```elixir
@opaque t()
```

# `_headers`

```elixir
@spec _headers(
  SnakeBridge.Ref.t(),
  keyword()
) :: {:ok, term()} | {:error, Snakepit.Error.t()}
```

Python method `HTTPConnection._headers`.

## Parameters

- `extras` (String.t())

## Returns

- `term()`

# `_validate_http_url`

```elixir
@spec _validate_http_url(SnakeBridge.Ref.t(), String.t(), keyword()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

Python method `HTTPConnection._validate_http_url`.

## Parameters

- `url` (String.t())

## Returns

- `term()`

# `async_download_file`

```elixir
@spec async_download_file(SnakeBridge.Ref.t(), String.t(), term(), keyword()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

Python method `HTTPConnection.async_download_file`.

## Parameters

- `url` (String.t())
- `save_path` (term())
- `timeout` (term() keyword-only default: None)
- `chunk_size` (integer() keyword-only default: 128)

## Returns

- `term()`

# `async_get_bytes`

```elixir
@spec async_get_bytes(SnakeBridge.Ref.t(), String.t(), keyword()) ::
  {:ok, binary()} | {:error, Snakepit.Error.t()}
```

Python method `HTTPConnection.async_get_bytes`.

## Parameters

- `url` (String.t())
- `timeout` (term() keyword-only default: None)
- `allow_redirects` (boolean() keyword-only default: True)

## Returns

- `binary()`

# `async_get_json`

```elixir
@spec async_get_json(SnakeBridge.Ref.t(), String.t(), keyword()) ::
  {:ok, String.t()} | {:error, Snakepit.Error.t()}
```

Python method `HTTPConnection.async_get_json`.

## Parameters

- `url` (String.t())
- `timeout` (term() keyword-only default: None)

## Returns

- `String.t()`

# `async_get_text`

```elixir
@spec async_get_text(SnakeBridge.Ref.t(), String.t(), keyword()) ::
  {:ok, String.t()} | {:error, Snakepit.Error.t()}
```

Python method `HTTPConnection.async_get_text`.

## Parameters

- `url` (String.t())
- `timeout` (term() keyword-only default: None)

## Returns

- `String.t()`

# `download_file`

```elixir
@spec download_file(SnakeBridge.Ref.t(), String.t(), term(), keyword()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

Python method `HTTPConnection.download_file`.

## Parameters

- `url` (String.t())
- `save_path` (term())
- `timeout` (term() keyword-only default: None)
- `chunk_size` (integer() keyword-only default: 128)

## Returns

- `term()`

# `get_async_client`

```elixir
@spec get_async_client(
  SnakeBridge.Ref.t(),
  keyword()
) :: {:ok, term()} | {:error, Snakepit.Error.t()}
```

Python method `HTTPConnection.get_async_client`.

## Returns

- `term()`

# `get_async_response`

```elixir
@spec get_async_response(SnakeBridge.Ref.t(), String.t(), keyword()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

Python method `HTTPConnection.get_async_response`.

## Parameters

- `url` (String.t())
- `timeout` (term() keyword-only default: None)
- `extra_headers` (term() keyword-only default: None)
- `allow_redirects` (boolean() keyword-only default: True)

## Returns

- `term()`

# `get_bytes`

```elixir
@spec get_bytes(SnakeBridge.Ref.t(), String.t(), keyword()) ::
  {:ok, binary()} | {:error, Snakepit.Error.t()}
```

Python method `HTTPConnection.get_bytes`.

## Parameters

- `url` (String.t())
- `timeout` (term() keyword-only default: None)
- `allow_redirects` (boolean() keyword-only default: True)

## Returns

- `binary()`

# `get_json`

```elixir
@spec get_json(SnakeBridge.Ref.t(), String.t(), keyword()) ::
  {:ok, String.t()} | {:error, Snakepit.Error.t()}
```

Python method `HTTPConnection.get_json`.

## Parameters

- `url` (String.t())
- `timeout` (term() keyword-only default: None)

## Returns

- `String.t()`

# `get_response`

```elixir
@spec get_response(SnakeBridge.Ref.t(), String.t(), keyword()) ::
  {:ok, term()} | {:error, Snakepit.Error.t()}
```

Python method `HTTPConnection.get_response`.

## Parameters

- `url` (String.t())
- `stream` (boolean() keyword-only default: False)
- `timeout` (term() keyword-only default: None)
- `extra_headers` (term() keyword-only default: None)
- `allow_redirects` (boolean() keyword-only default: True)

## Returns

- `term()`

# `get_sync_client`

```elixir
@spec get_sync_client(
  SnakeBridge.Ref.t(),
  keyword()
) :: {:ok, term()} | {:error, Snakepit.Error.t()}
```

Python method `HTTPConnection.get_sync_client`.

## Returns

- `term()`

# `get_text`

```elixir
@spec get_text(SnakeBridge.Ref.t(), String.t(), keyword()) ::
  {:ok, String.t()} | {:error, Snakepit.Error.t()}
```

Python method `HTTPConnection.get_text`.

## Parameters

- `url` (String.t())
- `timeout` (term() keyword-only default: None)

## Returns

- `String.t()`

# `new`

```elixir
@spec new(keyword()) :: {:ok, SnakeBridge.Ref.t()} | {:error, Snakepit.Error.t()}
```

Initialize self.  See help(type(self)) for accurate signature.

## Parameters

- `reuse_client` (boolean() keyword-only default: True)

---

*Consult [api-reference.md](api-reference.md) for complete listing*
