Runs a local HTTP server on your device, accessible over LAN. Supports connect, disconnect, GET, and POST methods with IP and port discovery.
npm install @cappitolian/http-local-serverA Capacitor plugin to run a local HTTP server on your device, allowing you to receive and respond to HTTP requests directly from Angular/JavaScript.
---
- Embed a real HTTP server (NanoHTTPD on Android, GCDWebServer on iOS).
- Receive requests via events and send responses back from the JS layer.
- CORS support enabled by default for local communication.
- Tested with Capacitor 7 and Ionic 8.
---
``bash`
npm install @cappitolian/http-local-server
npx cap sync
---
`typescript`
import { HttpLocalServer } from '@cappitolian/http-local-server';
`typescript${data.method} ${data.path}
// 1. Set up the listener for incoming requests
await HttpLocalServer.addListener('onRequest', async (data) => {
console.log();
console.log('Body:', data.body);
console.log('Headers:', data.headers);
console.log('Query:', data.query);
// 2. Send a response back to the client using the requestId
await HttpLocalServer.sendResponse({
requestId: data.requestId,
body: JSON.stringify({
success: true,
message: 'Request processed!'
})
});
});
// 3. Start the server
HttpLocalServer.connect().then(result => {
console.log('Server running at:', result.ip, 'Port:', result.port);
});
`
`typescript``
// 4. Stop the server
await HttpLocalServer.disconnect();
---
- iOS (Swift)
- Android (Java)
- Web (Returns mock values for development)
---
- Capacitor 7
- Ionic 8 (optional, but tested)
---
MIT
---
If you have any issues or feature requests, please open an issue on the repository.