New Powerful Machines

    api-joe

    0.4.2 • Public • Published

    API Joe

    An API Gateway to easily expose your services to web clients

    Get Started

    1. Install with: npm i -g api-joe.
    2. Setup your services.
    3. Run in the terminal with: api-joe (optional argument for the config file path).

    Get Started with Docker

    The official image repository in Docker Hub is gcsboss/api-joe.

    Run like this: docker run -p 9000:9000 gcsboss/api-joe

    Configuration

    port = 9000
    
    [auth]
    method = 'POST'
    url = 'http://auth-api/path'
    timeout = 3000
    onSuccess = 'http://webhook-url/auth-success'
    
    [redis]
    host = 'session'
    port = 6379
    
    [services]
    
    [services.my-service]
    url = 'http://host-of-service'
    endpoints = [
        'POST /something',
        'GET /stuff'
    ]

    Services

    To specify your services, use the following structure:

    • Endpoint: a string with the method and path from your service, you mean to expose

    • Service: object with:

      • url: string with protocol host and port to reach your services
      • endpoints: array of Endpoint
    • services: object with:

      • <service name>: Service

    Reporting Bugs

    If you have found any problems with this module, please:

    1. Open an issue.
    2. Describe what happened and how.
    3. Also in the issue text, reference the label ~bug.

    We will make sure to take a look when time allows us.

    Proposing Features

    If you wish to get that awesome feature or have some advice for us, please:

    1. Open an issue.
    2. Describe your ideas.
    3. Also in the issue text, reference the label ~proposal.

    Contributing

    If you have spotted any enhancements to be made and is willing to get your hands dirty about it, fork us and submit your merge request so we can collaborate effectively.

    Install

    npm i api-joe

    DownloadsWeekly Downloads

    32

    Version

    0.4.2

    License

    MIT

    Unpacked Size

    46.5 kB

    Total Files

    21

    Last publish

    Collaborators

    • gcsboss