Commit df322f4
fix: use relative paths in GraphiQL to support multiple domains
Without this patch, GraphiQL endpoints were configured with absolute
URLs constructed from ExternalBaseURL. This caused GraphiQL to fail
when the service was accessed through a different domain (e.g., via
proxy, load balancer, or alternate hostname) because it would always
try to connect to the configured base URL rather than the domain the
user was actually using.
This is a problem because it prevents GraphiQL from working in
multi-domain deployments and makes local development harder when
accessing the service through different hostnames.
This patch solves the problem by changing GraphiQLConfig to accept
relative paths (EndpointPath and SubscriptionPath) instead of absolute
URLs. The GraphiQL HTML template now uses JavaScript to dynamically
construct the full URLs from window.location at runtime, ensuring the
page always connects to the correct domain. The WebSocket protocol is
also derived dynamically (ws: for http:, wss: for https:).
Changes:
- Replace Endpoint/SubscriptionEndpoint with EndpointPath/SubscriptionPath
- Use window.location.origin to build full GraphQL URL at runtime
- Derive WebSocket protocol from page protocol dynamically
- Update tests to verify path-based configuration
Co-authored-by: Claude Code <claude-code@noreply.anthropic.com>1 parent 9de3ef9 commit df322f4
3 files changed
Lines changed: 31 additions & 34 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
431 | 431 | | |
432 | 432 | | |
433 | 433 | | |
434 | | - | |
435 | | - | |
436 | | - | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
437 | 437 | | |
438 | 438 | | |
439 | 439 | | |
| |||
451 | 451 | | |
452 | 452 | | |
453 | 453 | | |
454 | | - | |
455 | | - | |
| 454 | + | |
| 455 | + | |
456 | 456 | | |
457 | 457 | | |
458 | 458 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
16 | 17 | | |
17 | 18 | | |
18 | 19 | | |
| |||
71 | 72 | | |
72 | 73 | | |
73 | 74 | | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
90 | 83 | | |
91 | 84 | | |
92 | 85 | | |
| |||
114 | 107 | | |
115 | 108 | | |
116 | 109 | | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
117 | 114 | | |
118 | | - | |
| 115 | + | |
119 | 116 | | |
120 | 117 | | |
121 | 118 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
314 | 314 | | |
315 | 315 | | |
316 | 316 | | |
317 | | - | |
318 | | - | |
| 317 | + | |
| 318 | + | |
319 | 319 | | |
320 | 320 | | |
321 | 321 | | |
| |||
363 | 363 | | |
364 | 364 | | |
365 | 365 | | |
366 | | - | |
367 | | - | |
368 | | - | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
369 | 369 | | |
370 | 370 | | |
371 | 371 | | |
| |||
374 | 374 | | |
375 | 375 | | |
376 | 376 | | |
377 | | - | |
378 | | - | |
| 377 | + | |
| 378 | + | |
379 | 379 | | |
380 | 380 | | |
381 | 381 | | |
| |||
409 | 409 | | |
410 | 410 | | |
411 | 411 | | |
412 | | - | |
| 412 | + | |
413 | 413 | | |
414 | 414 | | |
415 | 415 | | |
| |||
0 commit comments