# @types/siege

> TypeScript definitions for siege

Latest version **0.2.5** (published 2023-11-21) · MIT license · 0 weekly downloads

## Install

```sh
npm install @types/siege
pnpm add @types/siege
yarn add @types/siege
bun add @types/siege
```

## Health

**Score 45/100 (D)** — status: abandoned.

Positive: has types; no vulnerabilities; high maintenance score; popular repo; extremely popular.

Warnings: low downloads; no esm support; pre 1.0.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 0.2.5 |
| Published | 2023-11-21 |
| First published | 2021-02-18 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 7.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 51450 |
| Maintainers | types |

## Links

- npm: https://www.npmjs.com/package/@types/siege
- Repository: https://github.com/DefinitelyTyped/DefinitelyTyped
- Homepage: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/siege
- npm.io page: https://npm.io/package/@types/siege

## Dependencies (1)

- [@types/node](https://npm.io/package/@types/node.md) *

## Recent versions

- 0.2.5 (latest) — 2023-11-21
- 0.2.1 (ts3.8) — 2021-07-06
- 0.2.0 (ts3.5) — 2021-02-18
- 0.2.4 — 2023-11-07
- 0.2.3 — 2023-10-18
- 0.2.2 — 2023-09-25

## README

# Installation
> `npm install --save @types/siege`

# Summary
This package contains type definitions for siege (https://github.com/kissjs/siege.js#readme).

# Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/siege.
## [index.d.ts](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/siege/index.d.ts)
````ts
/// <reference types="node" />

type Stringifiable = NodeJS.Dict<
    string | number | boolean | readonly string[] | readonly number[] | readonly boolean[] | null
>;
type Method = "GET" | "POST";

interface Options {
    serve?: string | undefined;
    host?: string | undefined;
    hostname?: string | undefined;
    rejectUnauthorized?: boolean | undefined;
    requestCert?: boolean | undefined;
    agent?: string | undefined;
    sslProtocol?: boolean | undefined;
    concurrent?: number | undefined;
    enableCookie?: boolean | undefined;
    enable304?: boolean | undefined;
    method?: Method | undefined;
}

interface ReportOptions {
    rps?: boolean | undefined;
    status?: boolean | undefined;
    timeout?: boolean | undefined;
    responseTime?: number[] | undefined;
    weight?: boolean | undefined;
    graph?: {
        dot?: string | undefined;
        line?: string | undefined;
        c2mem?: string | undefined;
    } | undefined;
    type?: "json" | "plain" | "color" | undefined;
}

declare class For<T> {
    readonly times: T;
    readonly seconds: T;
}

declare class Task {
    constructor(siege: Siege);

    for(num: number): For<Task>;
    request(options: {
        path: string;
        method?: Method | undefined;
        query?: Stringifiable | undefined;
    }): void;
    concurrent(concurrent: number): Task;
    report(options: ReportOptions): void;
    readonly withCookie: Siege;
    readonly withoutCookie: Siege;
    readonly with304: Siege;
    readonly without304?: Siege | undefined;
}

declare class Siege {
    on(port: number): Siege;
    host(host: string): Siege;
    hostname(hostname: string): Siege;
    rejectUnauthorized(rejectUnauthorized: boolean): Siege;
    requestCert(requestCert: boolean): Siege;
    agent(agent: string): Siege;
    sslProtocol(sslProtocol: boolean): Siege;
    describe(description: string): Task;
    report(options: ReportOptions): Siege;
    set(name: string, value: string): Siege;
    wait(ms: number): Siege;
    readonly withCookie: Siege;
    readonly withoutCookie: Siege;
    readonly with304: Siege;
    readonly without304?: Siege | undefined;
    concurrent(n: number): Siege;
    for(n: number): For<Siege>;
    get(url: string, query?: Stringifiable): Siege;
    post(url: string, params: Stringifiable): Siege;
    attack(): void;
}

declare function siege(options?: Options): Siege;
declare function siege(path?: string, options?: Options): Siege;

export = siege;

````

### Additional Details
 * Last updated: Mon, 20 Nov 2023 23:36:24 GMT
 * Dependencies: [@types/node](https://npmjs.com/package/@types/node)

# Credits
These definitions were written by [Zlatko Andonovski](https://github.com/Goldsmith42).

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