node package manager

apiaxle-proxy

The actual proxy part of ApiAxle.

ApiAxle

http://apiaxle.com

A free, locally hosted API management solution. A proxy for your api, statistics for your api & a powerful api of its own.

There are three components which make up the Api Axle system:

$ npm install apiaxle-proxy

This is the aspect of the system which does the actual proxying. It sits in front of your API and does the authentication, key checking, queries per day/second checking. This is the bit you want if you want anything. More detail on the main site.

$ npm install apiaxle-api

This is the (optional) API for managing users, keys and endpoints. Once installed, run it with:

$ apiaxle-api
$ npm install apiaxle-repl

A way to administer your ApiAxle installation via a command line. Once installed, run it with:

$ apiaxle

You then get a prompt where you can type help to find out more.

This is a set of libraries which is required for the above components.


Installation

Check the main site for more detailed installation instructions.

Build

  • master:
  • develop:

Docker

This repository is auto-built and published as apiaxle/apiaxle.

NOTE: If using this via Docker Compose, use the version 2 syntax for your docker-compose.yml file.

This project uses two Dockerfiles, one for production usage named Dockerfile, and a second for development of ApiAxle itself, named Dockerfile-development. Docker Compose is configured to build the development version for you, see below for examples.

Environment variables can be used to configure NODE_ENV, REDIS_HOST, REDIS_PORT, API_NAME_REGEX and DEBUG_MODE. Below are defaults for production:

  • NODE_ENV = production
  • REDIS_HOST = redis
  • REDIS_PORT = 6379
  • API_NAME_REGEX = ^(.+?)\\.api\\. (extra backslash required for JSON)
  • DEBUG_MODE = false
docker-compose up -d redis
docker-compose up -d api
docker-compose up -d proxy
docker-compose run repl
docker-compose run repl test
docker-compose run --entrypoint sh repl

api acme create endPoint='localhost:8000'
key 1234 create
api acme linkkey 1234
curl localhost:3000?api_key=1234 -H 'Host: acme.api.localhost'