Socket
Socket
Sign inDemoInstall

async-http

Package Overview
Dependencies
2
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    async-http

Asynchronous HTTP request API


Version published
Weekly downloads
6
increased by20%
Maintainers
1
Install size
229 kB
Created
Weekly downloads
 

Readme

Source

async-http

Asynchronous HTTP request API

Examples

import { Promise } from 'async-promise';
import { HttpClient } from 'async-http';

let client = new HttpClient("https://api.github.com/");
client.getAsJsonAsync("/repos/Microsoft/TypeScript/commits/a46a6106a8f01131ef208fa51fe69b3d06574507").then(response => {
	console.log(response.commit.message);
});

API

declare module "async-http" {
    import { Promise, CancellationToken } from 'async-promise';
    export type JsonReplacer = any[] | ((key: string, value: any) => string);
    /**
     * A Uri
     */
    export class Uri {
        static SCHEME_HTTP: string;
        static SCHEME_HTTPS: string;
        /**
         * The protocol for the Uri (e.g. 'http:')
         */
        protocol: string;
        /**
         * The hostname for the Uri
         */
        hostname: string;
        /**
         * The port number for the Uri
         */
        port: number;
        /**
         * The path name for the Uri
         */
        pathname: string;
        /**
         * The search portion of the path, also known as the querystring
         */
        search: string;
        /**
         * The fragment portion of the path
         */
        hash: string;
        /**
         * A value indicating whether the Url is an absolute url
         */
        absolute: boolean;
        /**
         * Creates a new Uri by parsing a string
         * @param uri {String} The uri string to parse
         */
        constructor(uri: string);
        /**
         * Creates a new Uri by combining a base Uri and a relative Uri
         * @param baseUri The base uri
         * @param uri The relative uri
         */
        constructor(baseUri: string | Uri, uri: string | Uri);
        /**
         * Gets the origin of the Uri
         */
        origin: string;
        /**
         * Gets the host for the uri, including the hostname and port
         */
        host: string;
        /**
         * Gets the scheme for the uri (e.g. 'http://'')
         */
        scheme: string;
        /**
         * Tests whether the provided uri has the same origin as this uri
         * @param uri The uri to compare against
         * @returns True if the uri's have the same origin; otherwise, false
         */
        isSameOrigin(uri: string | Uri): boolean;
        /**
         * Gets the string representation of the Uri
         * @param format {String} A format specifier.
         * @returns {String} The string content of the Uri
         */
        toString(format?: string): string;
        /**
         * Parses the provided uri string
         * @param uri {String} The uri string to parse
         * @returns {Uri} The parsed uri
         */
        static parse(uri: string): Uri;
        /**
         * Combines two uris
         * @param baseUri The base uri
         * @param uri The relative uri
         * @returns The combined uri
         */
        static combine(baseUri: string | Uri, uri: string | Uri): Uri;
    }
    export module QueryString {
        interface QueryStringMap {
            [key: string]: string | number | boolean | (string | number | boolean)[];
        }
        function stringify(obj: any): string;
        function parse(text: string): QueryStringMap;
    }
    /**
     * An HTTP request for an HttpClient
     */
    export class HttpRequest {
        private _headers;
        /**
         * The body of the request
         */
        content: HttpContent;
        /**
         * The HTTP method for the request
         */
        method: string;
        /**
         * The url for the request
         */
        url: Uri;
        /**
         * Creates an HTTP request for an HttpClient
         * @param method The HTTP method for the request
         * @param url The url for the request
         */
        constructor(method?: string, url?: string | Uri);
        headers: HttpHeaders;
    }
    export interface HttpHeaders {
        "Content-Length"?: string;
        "Content-Type"?: string;
        "Accepts"?: string;
        "User-Agent"?: string;
        [header: string]: string;
    }
    /**
     * A response from an HttpClient
     */
    export class HttpResponse {
        private _headers;
        request: HttpRequest;
        statusCode: number;
        statusText: string;
        content: HttpContent;
        constructor(statusCode?: number);
        headers: HttpHeaders;
    }
    /**
     * A client for HTTP requests
     */
    export class HttpClient {
        private _headers;
        private _cts;
        private _closed;
        /**
         * The base url for the client
         */
        baseUrl: Uri;
        /**
         * A value indicating whether cookies should be sent to a cross-origin request
         */
        withCredentials: boolean;
        /**
         * The number of milliseconds to wait before the request should time out
         */
        timeout: number;
        /**
         * The username for the request
         */
        username: string;
        /**
         * The password for the request
         */
        password: string;
        /**
         * Creates a client for HTTP requests
         * @param baseUrl The base url for the client
         */
        constructor(baseUrl?: string | Uri);
        headers: HttpHeaders;
        /**
         * Closes the client and cancels all pending requests
         */
        close(): void;
        /**
         * Gets the response text from the requested url
         * @param url The url for the request
         * @returns A future result for the string
         */
        getStringAsync(url: string | Uri): Promise<string>;
        /**
         * Gets the response from issuing an HTTP GET to the requested url
         * @param url The url for the request
         * @param token A token that can be used to cancel the request
         * @returns A future result for the response
         */
        getAsync(url: string | Uri, token?: CancellationToken): Promise<HttpResponse>;
        /**
         * Gets the response from issuing an HTTP POST to the requested url
         * @param url The url for the request
         * @param body The body of the request
         * @param token A token that can be used to cancel the request
         * @returns A future result for the response
         */
        postAsync(url: string | Uri, body: HttpContent, token?: CancellationToken): Promise<HttpResponse>;
        /**
         * Gets the response from issuing an HTTP POST of a JSON serialized value to the requested url
         * @param url The url for the request
         * @param value The value to serialize
         * @param jsonReplacer An array or callback used to replace values during serialization
         * @param token A token that can be used to cancel the request
         * @returns A future result for the response
         */
        postJsonAsync(url: string | Uri, value: any, jsonReplacer?: any[] | ((key: string, value: any) => string), token?: CancellationToken): Promise<HttpResponse>;
        /**
         * Gets the response from issuing an HTTP PUT to the requested url
         * @param url The url for the request
         * @param body The body of the request
         * @param token A token that can be used to cancel the request
         * @returns A future result for the response
         */
        putAsync(url: string | Uri, content: HttpContent, token?: CancellationToken): Promise<HttpResponse>;
        /**
         * Gets the response from issuing an HTTP PUT of a JSON serialized value to the requested url
         * @param url The url for the request
         * @param value The value to serialize
         * @param jsonReplacer An array or callback used to replace values during serialization
         * @param token A token that can be used to cancel the request
         * @returns A future result for the response
         */
        putJsonAsync(url: string | Uri, value: any, jsonReplacer?: any[] | ((key: string, value: any) => string), token?: CancellationToken): Promise<HttpResponse>;
        /**
         * Gets the response from issuing an HTTP DELETE to the requested url
         * @param url The url for the request
         * @param token A token that can be used to cancel the request
         * @returns A future result for the response
         */
        deleteAsync(url: string | Uri, token?: CancellationToken): Promise<HttpResponse>;
        /**
         * Sends the provided request and returns the response
         * @param request {HttpRequest} An HTTP request to send
         * @param token {futures.CancellationToken} A token that can be used to cancel the request
         * @returns {futures.Promise<HttpResponse>} A future result for the response
         */
        sendAsync(request: HttpRequest, token?: CancellationToken): Promise<HttpResponse>;
    }
    export class HttpContentWriter {
        private _buffer;
        private _byteOffset;
        private _limit;
        private _capacity;
        constructor(limit?: number, capacity?: number);
        size: number;
        write(buffer: ArrayBuffer, byteOffset: number, byteLength: number): void;
        toArrayBuffer(): ArrayBuffer;
        close(): void;
        private ensureCapacity(capacity);
    }
    export class HttpContent {
        private _content;
        private _headers;
        private _loadingPromise;
        private _state;
        constructor();
        type: string;
        headers: HttpHeaders;
        loadAsync(maxBufferSize?: number): Promise<void>;
        readAsStringAsync(): Promise<string>;
        readAsArrayBufferAsync(): Promise<ArrayBuffer>;
        readAsJsonAsync(reviver?: (key: any, value: any) => any): Promise<any>;
        close(): void;
        protected serialize(writer: HttpContentWriter): Promise<void> | void;
        protected throwIfClosed(): void;
        private createWriter(maxBufferSize);
    }
    export class ArrayBufferContent extends HttpContent {
        private _buffer;
        constructor(buffer: ArrayBuffer);
        type: string;
        close(): void;
        readAsArrayBufferAsync(): Promise<ArrayBuffer>;
        protected serialize(writer: HttpContentWriter): void;
    }
    export class StringContent extends HttpContent {
        private _text;
        constructor(text: string, encoding?: string, mediaType?: string);
        type: string;
        readAsStringAsync(): Promise<string>;
        close(): void;
        protected serialize(writer: HttpContentWriter): void;
    }
    export class JsonContent extends HttpContent {
        private _value;
        private _replacer;
        private _space;
        constructor(value: any, replacer?: JsonReplacer, space?: string, mediaType?: string);
        type: string;
        readAsJsonAsync(reviver?: (key: any, value: any) => any): Promise<any>;
        close(): void;
        protected serialize(writer: HttpContentWriter): void;
    }
    /**
     * An error raised during an http request
     */
    export interface HttpError extends Error {
        /**
         * The `HttpClient` that initiated the request
         */
        httpClient: HttpClient;
        /**
         * The `HttpResponse` for the error
         */
        response: HttpResponse;
    }
}

Keywords

FAQs

Last updated on 01 May 2015

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc