Express API Mocker is a simple npm package that allows you to mock APIs using Express and TLS.
You can install the package via npm:
npm install express-api-mocker
- Mock GET, POST, PUT, and DELETE endpoints
- Add custom headers to responses
- Enable CORS with customizable options
- TLS/SSL support for secure connections
- Easy to set up and configure
Adds custom headers to all responses.
-
headers
(Object): An object representing custom headers to be added.
Enables CORS with the specified options.
-
options
(Object): CORS configuration options.
Mocks a GET endpoint.
-
endpoint
(String): The endpoint to mock. -
response
(Object): The response to return for the mocked endpoint.
Mocks a POST endpoint.
-
endpoint
(String): The endpoint to mock. -
response
(Object): The response to return for the mocked endpoint.
Mocks a PUT endpoint.
-
endpoint
(String): The endpoint to mock. -
response
(Object): The response to return for the mocked endpoint.
Mocks a DELETE endpoint.
-
endpoint
(String): The endpoint to mock. -
response
(Object): The response to return for the mocked endpoint.
Starts the mock server.
-
port
(Number): The port to run the server on. -
options
(Object): Server options.-
tlsEnabled
(Boolean): Whether to enable TLS/SSL. -
tlsOptions
(Object): TLS/SSL options.
-
const { ApiMocker, generateTLSCertificates } = require('express-api-mocker');
const fs = require('fs');
const mocker = new ApiMocker();
// Add custom headers
mocker.addCustomHeaders({
'X-Custom-Header': 'CustomValue',
'X-Powered-By': 'Express-Api-Mocker'
});
// Enable CORS with options
mocker.enableCORS({
origin: '*', // Allow all origins
methods: ['GET', 'POST', 'PUT', 'DELETE'], // Allow specific HTTP methods
allowedHeaders: ['Content-Type', 'Authorization'] // Allow specific headers
});
// Mock some endpoints
mocker.mockGet('/api/user', { id: 1, name: 'John Doe' });
mocker.mockPost('/api/login', { success: true, token: 'abc123' });
mocker.mockPut('/api/user/1', { success: true });
mocker.mockDelete('/api/user/1', { success: true });
// Generate TLS certificates
generateTLSCertificates('./cert.pem', './key.pem');
const tlsOptions = {
key: fs.readFileSync('./key.pem'),
cert: fs.readFileSync('./cert.pem')
};
// Start the mock server
mocker.start(3000, {
tlsEnabled: true,
tlsOptions: tlsOptions
});
This project is licensed under the ISC License.