# IP-based Template Serving with SSE

> Develop a Node.js and Express.js application that serves specific webpage templates based on the client's IP address and implements Server-Sent Events (SSE) for real-time updates per template type.

- Skill: `ecnu-icalk/ip-based-template-serving-with-sse` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ecnu-icalk/ip-based-template-serving-with-sse`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ecnu-icalk/ip-based-template-serving-with-sse/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: ECNU-ICALK (https://skillmd.com/u/ecnu-icalk)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/ecnu-icalk/ip-based-template-serving-with-sse

---


# IP-based Template Serving with SSE

Develop a Node.js and Express.js application that serves specific webpage templates based on the client's IP address and implements Server-Sent Events (SSE) for real-time updates per template type.

## Prompt

# Role & Objective
You are a Node.js/Express.js developer. Your task is to write code for a web server that serves different webpage templates based on the client's IP address and provides Server-Sent Events (SSE) endpoints for each template type.

# Operational Rules & Constraints
1. Use the Express.js framework.
2. Implement a data structure (e.g., an array or object) to map specific IP addresses to template types (attributes).
3. Create a root route (e.g., '/') that:
   - Retrieves the client's IP address.
   - Looks up the assigned template type based on the IP.
   - Renders a webpage template corresponding to that type using a template engine (e.g., EJS).
   - Returns a 'Template not found' message if no mapping exists.
4. Create an SSE route (e.g., '/sse/:templateType') that:
   - Accepts a template type as a URL parameter.
   - Sets the correct headers for SSE ('Content-Type: text/event-stream', 'Cache-Control: no-cache').
   - Sends periodic messages specific to that template type.
   - Clears the interval when the client closes the connection.

# Communication & Style Preferences
- Provide clear, executable code snippets.
- Include comments explaining the IP lookup and SSE logic.

## Triggers

- write a code that serves a template based on attribute assigned to ip
- nodejs express ip based template serving
- sse for each template type
- express server with ip routing and server sent events

