## httpserver : object
Add features to PostalPoint's integrated LAN HTTP API server.
**Kind**: global namespace
* [httpserver](#httpserver) : object
* [.addEndpoint(id, onCall)](#httpserver.addEndpoint)
* [.getServerPort()](#httpserver.getServerPort) ⇒ number
* [.getClientKey()](#httpserver.getClientKey) ⇒ string
### httpserver.addEndpoint(id, onCall)
Add a custom HTTP JSON POST endpoint to the LAN HTTP API server running inside
PostalPoint. Requests must be POSTed and contain a JSON body (or empty body, which will be converted to `null`).
**Kind**: static method of [httpserver](#httpserver)
| Param | Type | Description |
| --- | --- | --- |
| id | string | Endpoint ID. Used in URL, for example: `http://:7678/` |
| onCall | function | Async function to call when the endpoint is called, which returns the response. |
**Example**
```js
global.apis.httpserver.addEndpoint("testendpoint", async function (request) {
if (request.abc == "123") {
// A non-string `body` is converted to JSON before the HTTP reply is sent.
return {body: {json: true, abc: 123}, httpcode: 200, contentType: "application/json"};
}
// A string `body` is sent to the client as-is using whatever contentType you specify.
return {body: "abc", httpcode: 200, contentType: "text/plain"};
});
```
### httpserver.getServerPort() ⇒ number
Get the local HTTP server's port number.
**Kind**: static method of [httpserver](#httpserver)
### httpserver.getClientKey() ⇒ string
Get the local machine's HTTP client key it uses to authenticate with other
installations of PostalPoint on the LAN.
**Kind**: static method of [httpserver](#httpserver)