1 | // Definitions by: Carlos Ballesteros Velasco <https://github.com/soywiz>
|
---|
2 | // Leon Yu <https://github.com/leonyu>
|
---|
3 | // BendingBender <https://github.com/BendingBender>
|
---|
4 | // Maple Miao <https://github.com/mapleeit>
|
---|
5 |
|
---|
6 | /// <reference types="node" />
|
---|
7 | import * as stream from 'stream';
|
---|
8 | import * as http from 'http';
|
---|
9 |
|
---|
10 | export = FormData;
|
---|
11 |
|
---|
12 | // Extracted because @types/node doesn't export interfaces.
|
---|
13 | interface ReadableOptions {
|
---|
14 | highWaterMark?: number;
|
---|
15 | encoding?: string;
|
---|
16 | objectMode?: boolean;
|
---|
17 | read?(this: stream.Readable, size: number): void;
|
---|
18 | destroy?(this: stream.Readable, error: Error | null, callback: (error: Error | null) => void): void;
|
---|
19 | autoDestroy?: boolean;
|
---|
20 | }
|
---|
21 |
|
---|
22 | interface Options extends ReadableOptions {
|
---|
23 | writable?: boolean;
|
---|
24 | readable?: boolean;
|
---|
25 | dataSize?: number;
|
---|
26 | maxDataSize?: number;
|
---|
27 | pauseStreams?: boolean;
|
---|
28 | }
|
---|
29 |
|
---|
30 | declare class FormData extends stream.Readable {
|
---|
31 | constructor(options?: Options);
|
---|
32 | append(key: string, value: any, options?: FormData.AppendOptions | string): void;
|
---|
33 | getHeaders(userHeaders?: FormData.Headers): FormData.Headers;
|
---|
34 | submit(
|
---|
35 | params: string | FormData.SubmitOptions,
|
---|
36 | callback?: (error: Error | null, response: http.IncomingMessage) => void
|
---|
37 | ): http.ClientRequest;
|
---|
38 | getBuffer(): Buffer;
|
---|
39 | setBoundary(boundary: string): void;
|
---|
40 | getBoundary(): string;
|
---|
41 | getLength(callback: (err: Error | null, length: number) => void): void;
|
---|
42 | getLengthSync(): number;
|
---|
43 | hasKnownLength(): boolean;
|
---|
44 | }
|
---|
45 |
|
---|
46 | declare namespace FormData {
|
---|
47 | interface Headers {
|
---|
48 | [key: string]: any;
|
---|
49 | }
|
---|
50 |
|
---|
51 | interface AppendOptions {
|
---|
52 | header?: string | Headers;
|
---|
53 | knownLength?: number;
|
---|
54 | filename?: string;
|
---|
55 | filepath?: string;
|
---|
56 | contentType?: string;
|
---|
57 | }
|
---|
58 |
|
---|
59 | interface SubmitOptions extends http.RequestOptions {
|
---|
60 | protocol?: 'https:' | 'http:';
|
---|
61 | }
|
---|
62 | }
|
---|