## 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 * [.sendRequestToRemote(data, endpointID, serverAddress, serverPort)](#httpserver.sendRequestToRemote) ⇒ Promise.<Object> ### 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) ### httpserver.sendRequestToRemote(data, endpointID, serverAddress, serverPort) ⇒ Promise.<Object> Send a HTTP request to another PostalPoint installation on the local network. **Kind**: static method of [httpserver](#httpserver) **Returns**: Promise.<Object> - The JSON reply. **Throws**: - Error When there's a network or other unrecoverable error while completing the request. Error message is a human-readable description of the problem. | Param | Type | Description | | --- | --- | --- | | data | Object | Data to encode as JSON in the request body. | | endpointID | string | Endpoint to call. | | serverAddress | string \| undefined | Address of the PostalPoint server. If undefined, uses the host address configured in PostalPoint's Databases settings. | | serverPort | number \| undefined | Port of the PostalPoint server. If undefined, the default PostalPoint port number is used. |