Socket
Book a DemoInstallSign in
Socket

@sya-ri/echomock

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@sya-ri/echomock

A lightweight and flexible API mocking tool that focuses on accurate response handling

latest
Source
npmnpm
Version
0.2.2
Version published
Weekly downloads
46
4.55%
Maintainers
1
Weekly downloads
 
Created
Source

echomock

npm version License: MIT

A lightweight and flexible API mocking tool that focuses on accurate response handling. Perfect for testing and development environments.

Features

  • 🔄 Request Body Echo: Automatically returns request body as response body
  • 🎯 Dynamic Headers: Set response headers using X-ECHOMOCK-RES-<HEADER_NAME> format
  • ⏱️ Response Delay: Simulate network latency with X-ECHOMOCK-DELAY header
  • 📝 RESTful API: Manage mocks through simple REST endpoints
  • 🚀 Simple Integration: Easy to use in any development or testing environment
  • 💻 CLI Support: Start the server directly with npx @sya-ri/echomock
  • 📚 Library Mode: Use as a library in your TypeScript/JavaScript projects

Quick Start

CLI Usage

  • Start the server:
npx @sya-ri/echomock

# or specify port
npx @sya-ri/echomock 3000
  • Register a mock:
curl -X POST --location "http://localhost:8080/echomock" \
    -H "X-ECHOMOCK-METHOD: GET" \
    -H "X-ECHOMOCK-PATH: /example" \
    -H "X-ECHOMOCK-CODE: 200" \
    -H "X-ECHOMOCK-DELAY: 1000" \
    -H "X-ECHOMOCK-RES-Content-Type: application/json" \
    -d '{ "message": "hello from echomock!!" }'
  • Try the mock:
curl -X GET --location "http://localhost:8080/example"
  • Delete a specific mock:
curl -X DELETE --location "http://localhost:8080/echomock" \
    -H "X-ECHOMOCK-METHOD: GET" \
    -H "X-ECHOMOCK-PATH: /example"
  • Delete all mocks:
curl -X DELETE --location "http://localhost:8080/echomock/all"

Library Usage

  • Install as a dev dependency:
npm install -D @sya-ri/echomock
  • Use in your code:
import { serve, registerMock, deleteMock, deleteAllMocks } from "@sya-ri/echomock";

// Start the server
serve(3000);

// Register a mock
await registerMock({
  method: "GET",
  path: "/example",
  code: 200,
  delay: 1000, // Delay response by 1 second
  headers: {
    "Content-Type": "application/json"
  },
  body: new TextEncoder().encode(JSON.stringify({
    message: "hello from echomock!!"
  }))
});

// Delete a specific mock
deleteMock("GET", "/example");

// Delete all mocks
deleteAllMocks();

Use Cases

  • API Testing: Create predictable test environments
  • Development: Mock external services during development
  • Integration Testing: Test API integrations without real endpoints
  • Load Testing: Simulate various API responses for performance testing
  • Network Simulation: Test application behavior under different network conditions

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Keywords

mock

FAQs

Package last updated on 10 Jul 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts