Skip to content

gawsoftpl/rest-client-framework

Repository files navigation

About

Rest client framework for your api client. In below example how to use this simple script

Write quick your api client

Example

// Client Stratgy
import { ClientInterface, Request, Response, ConfigType, ResponseInterface } from "@gawsoft/rest-api-client-framework";

export class ClientTest implements ClientInterface {
  private api_key: string;

  constructor(api_key: string) {
    this.setApiKey(api_key);
  }

  setApiKey(api_key: string) {
    this.api_key = api_key;
  }

  config(): ConfigType {
    return {
      endpoint: "https://httpbin.org",
      timeout: 10000,
    };
  }

  globalHeaders(): Record<string, string> {
    return {};
  }

  setAuthentication(request: Request): void {
    request.addHeaders({ authorization: `Bearer ${this.api_key}` });
  }
  
  // Controllers
    async extract(url: string): Promise<ResponseInterface> {
        const request = new Request(this);

        request.addHeaders({
            "Accept-Encoding": "gzip",
            "Content-Type": "application/json",
        });

        const response = await request.post(`/person`, { name: "Johnny Kowalski" });
        if (response.status !== 200)
            throw new Error(
                `Cant download json file from server status code: ${response.status}`
            );

        return new Response(response);
    }
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published