developer-delphi-horse-clientip

Extract real client IP from THorse requests using proxy headers and socket fallback.

Updated Jan 6, 2026
One-click install
npx skills add https://github.com/cslsoftwares/ParamentersORM --skill developer-delphi-horse-clientip
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: developer-delphi-horse-clientip
Source: https://github.com/cslsoftwares/ParamentersORM/tree/main/.cursor/skills/developer-delphi-horse-clientip_V1.0.0
Command: npx skills add https://github.com/cslsoftwares/ParamentersORM --skill developer-delphi-horse-clientip

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Extract the real client IP behind proxies for Horse-based apps, aiding logging, auditing, and security.

Core Features & Use Cases

  • Prioritize common proxy headers (CF-Connecting-IP, X-Real-IP, X-Forwarded-For) and fall back to the direct TCP IP.
  • Used for auditing, rate limiting, and security logging when behind load balancers or reverse proxies.
  • Integrates with THorse middleware to consistently capture the client's origin IP.

Quick Start

Call ClientIP(Req) within a THorse route to obtain the real client IP and use it for logging or rate limiting.

Frequently Asked Questions about developer-delphi-horse-clientip

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I get the real client IP in Delphi Horse behind a reverse proxy?

To get the real client IP in Delphi Horse behind a reverse proxy, call ClientIP(Req) within a THorse route. It prioritizes proxy headers like CF-Connecting-IP and X-Forwarded-For, falling back to the direct TCP IP if unavailable.

What proxy headers are prioritized for client IP extraction in Horse requests?

Proxy headers prioritized for client IP extraction in Horse requests include CF-Connecting-IP, X-Real-IP, and X-Forwarded-For. The Skill checks these in order and applies fallbacks to the direct socket IP to ensure reliable detection behind proxies.

Why does my Delphi Horse app log the proxy IP instead of the real client IP?

Your Delphi Horse app logs the proxy IP instead of the real client IP because direct socket connections behind load balancers mask the origin. You need to parse proxy headers like X-Forwarded-For with proper header ordering and error handling to capture the actual client IP.

Can I use this client IP extraction for rate limiting and security logging in Horse?

Yes, you can use this client IP extraction for rate limiting and security logging in Horse. It consistently captures the client's origin IP from proxy headers, satisfying IT compliance requirements and enabling accurate audit trails for requests behind load balancers.

Does extracting the client IP in Horse require any specific dependencies or components?

Extracting the client IP in Horse requires no specific external dependencies or components. It integrates directly with THorse middleware to apply header order, fallbacks, and error handling natively within your Delphi Horse application.