AutoSkill 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.

install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt3.5_8_GLM4.7/ip-based-template-serving-with-sse" ~/.claude/skills/ecnu-icalk-autoskill-ip-based-template-serving-with-sse && rm -rf "$T"
manifest: SkillBank/ConvSkill/english_gpt3.5_8_GLM4.7/ip-based-template-serving-with-sse/SKILL.md
source content

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