# @exobase/use-headers

> Exobase hook to parse and validate header values in a request

Latest version **1.0.0-rc.25** (published 2024-07-08) · MIT license · 0 weekly downloads

## Install

```sh
npm install @exobase/use-headers
pnpm add @exobase/use-headers
yarn add @exobase/use-headers
bun add @exobase/use-headers
```

## Health

**Score 30/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0-rc.25 |
| Published | 2024-07-08 |
| First published | 2022-11-28 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 2 |
| Unpacked size | 16.8 KB |
| Known vulnerabilities | 0 (+1 in 1 direct dependencies) |
| Install scripts | no |
| Author | rayepps |
| Maintainers | rayepps |

## Links

- npm: https://www.npmjs.com/package/@exobase/use-headers
- npm.io page: https://npm.io/package/@exobase/use-headers

## Dependencies (2)

- [zod](https://npm.io/package/zod.md) ^3.19.1
- [@exobase/core](https://npm.io/package/@exobase/core.md) ^1.0.0-rc.31

## Recent versions

- 1.0.0-rc.25 (latest) — 2024-07-08
- 1.0.0-rc.24 — 2024-02-21
- 1.0.0-rc.23 — 2024-02-20
- 1.0.0-rc.22 — 2024-02-20
- 1.0.0-rc.21 — 2024-02-20
- 1.0.0-rc.20 — 2024-02-19
- 1.0.0-rc.19 — 2024-02-19
- 1.0.0-rc.17 — 2023-08-17
- 1.0.0-rc.16 — 2023-03-07
- 1.0.0-rc.15 — 2023-03-02
- 1.0.0-rc.14 — 2023-03-01
- 1.0.0-rc.13 — 2023-03-01
- 1.0.0-rc.12 — 2023-02-22
- 1.0.0-rc.11 — 2023-02-22
- 1.0.0-rc.10 — 2023-01-08
- … 6 more at https://npm.io/package/@exobase/use-headers/versions

## README

---
title: 'useHeaders'
description: 'A hook to parse and validate request headers'
group: 'Hooks'
badge: 'Validation'
---

Provides a hook to parse and validate headers in the request.

## Install

```sh
yarn add @exobase/use-headers
# or
yarn add @exobase/hooks
```

## Import

```ts
import { useHeaders } from '@exobase/use-headers'
// or
import { useHeaders } from '@exobase/hooks'
```

## Import

```ts
import { useHeaders } from '@exobase/use-headers'
import { useHeaders } from '@exobase/hooks'
```

## Usage

```ts
import { compose } from 'radash'
import type { Props } from '@exobase/core'
import { useHeaders } from '@exobase/use-headers'
import { useLambda } from '@exobase/use-lambda'

type Args = {
  'x-request-timestamp': number
  'x-api-key': string
}

const createAccount = async ({ args }: Props) => {
  await db.users.add({
    username: args.username,
    password: args.password
  })
}

export default compose(
  useLambda(),
  useHeaders(z => ({
    'x-request-timestamp': zod.number(),
    'x-api-key': zod.string()
  })),
  createAccount
)
```

---
_Source: https://npm.io/package/@exobase/use-headers · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
