You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-`GET /healthcheck` - Health status including WebSocket connection state
28
31
29
32
### WebSocket Integration
@@ -51,5 +54,31 @@ The service maintains a persistent WebSocket connection to `wss://events.compile
51
54
- 120 character line width
52
55
- Strict TypeScript configuration with unused parameter/local detection
53
56
54
-
The codebase is a TypeScript replacement for an AWS Lambda function, designed to handle Compiler Explorer routing requests with WebSocket-based real-time communication.
55
-
- always lint and check the code when you have finished code changes
57
+
## Routing Architecture
58
+
59
+
The service supports two routing methods:
60
+
61
+
### Queue-based Routing (Default)
62
+
- Requests are sent to SQS queues for processing
63
+
- Results are returned via WebSocket connections
64
+
- Supports automatic failover and load balancing
65
+
- Used for most compilation requests
66
+
67
+
### URL-based Routing
68
+
- Direct HTTP forwarding to specific target URLs
69
+
- Configured via DynamoDB routing table
70
+
- Used for specialized compilers (e.g., GPU compilers)
71
+
- Handles HTTP header normalization to prevent protocol violations
- Large responses (>1MB) are flagged with warnings due to ALB limits
76
+
- CORS headers are automatically added to all responses
77
+
78
+
The codebase is a TypeScript replacement for an AWS Lambda function, designed to handle Compiler Explorer routing requests with both WebSocket-based real-time communication and direct HTTP forwarding.
79
+
80
+
## Development Guidelines
81
+
- Always lint and check the code when you have finished code changes
82
+
- Use debug-level logging for detailed troubleshooting information
83
+
- Keep info-level logging for essential operational messages
84
+
- Prefer unit tests for pure functions over integration tests where possible
0 commit comments