Skip to content

HTTP echo service mirroring back request details. Available as Docker image and NPM package.

License

Notifications You must be signed in to change notification settings

junjie-w/echo-service

Repository files navigation

Echo Service

GitHub package.json version GitHub Workflow Status Node.js codecov semantic-release ESLint Husky

An HTTP echo service that mirrors back request details. Available as a Docker image for containerized deployment, as well as an NPM package for both CLI usage and library integration.

⭐ Quick Start

# Using Docker
docker run -p 3000:3000 junjiewu0/echo-service

# Using NPM (with CLI)
npx @junjie-wu/echo-service

# Using NPM (as library)
npm install @junjie-wu/echo-service

📚 Usage

🐳 Docker

# Using Pre-built Image
docker pull junjiewu0/echo-service
docker run -p 3000:3000 junjiewu0/echo-service

# For ARM-based machines (Apple Silicon, etc.)
docker pull --platform linux/amd64 junjiewu0/echo-service
docker run --platform linux/amd64 -p 3000:3000 junjiewu0/echo-service

# Using Docker Compose
docker compose up -d

# Build and Run Locally
docker build -t echo-service .
docker run -p 3000:3000 echo-service

📦 NPM Package

CLI Usage

npx @junjie-wu/echo-service --port 3000

Library Integration

import { createServer } from '@junjie-wu/echo-service';
const server = createServer(3000);

🧪 Try It Out

# Check service health
curl http://localhost:3000/health

# Echo back request details
curl http://localhost:3000/echo

# Echo with query parameters
curl "http://localhost:3000/echo?name=test"

# Echo with POST data
curl -X POST -H "Content-Type: application/json" \
     -d '{"message": "hello"}' \
     http://localhost:3000/echo

📋 Examples

For complete working examples of all usage methods, check out the examples directory:

git clone https://github.com/junjie-w/echo-service.git
cd echo-service/examples

# Try different examples
npm install
npm run start:docker     # Docker usage
npm run start:cli        # CLI usage
npm run start:lib        # Library usage

⚡ API Endpoints

Endpoint Method Description
/ GET Service info
/health GET Health check
/echo ALL Request mirror

🛠️ Development

Setup

# Install dependencies
npm install

# Start development server
npm run dev

# Run tests
npm test

# Build for production
npm run build

# Start production server
npm start

Commit Convention

This project follows Conventional Commits:

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

Types: feat, fix, docs, style, refactor, test, chore

🤝 Contributing

Contributions, issues, and feature requests are welcome. Feel free to check issues page.

🚀 Distribution

📄 License

MIT

About

HTTP echo service mirroring back request details. Available as Docker image and NPM package.

Resources

License

Stars

Watchers

Forks

Packages

No packages published