Skip to content

gawsoftpl/rest-client-framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

Packages

No packages published