[server-bridge] 3. parti sunucu köprüsü #46

Closed
opened 2026-06-16 23:54:17 +03:00 by saqut · 1 comment
Owner

MWSE'yi yalnızca client-to-client değil, sunucu ↔ kendi kullanıcıları arasında köprü olarak da kullanmak (eski "MWSE v2" vizyonu).

Kapsam:

    1. parti sunucular MWSE ile https üzerinden get/post atarak haberleşebilir; websocket desteklemeleri gerekmez.
  • Application sunucusu merkezde tutularak, MWSE'ye bağlanan tüm client'ların durumu ve mesajları application sunucu üzerinden yönetilebilir; tüm kontrol application'a bırakılabilir.
  • Bağlantı akışı: client bağlanma isteği gönderir → MWSE bunu Application sunucusuna sorar → Application onaylarsa bağlantı kurulur, yoksa reddedilir.
[MWSE Client] → [MWSE Server] → "Connect?" → [Application Server]

Bitti kriteri: 3. parti bir sunucu https ile MWSE'ye mesaj enjekte edip alabiliyor; bağlantı onayı application'a delege edilebiliyor; testler yeşil.

MWSE'yi yalnızca client-to-client değil, **sunucu ↔ kendi kullanıcıları** arasında köprü olarak da kullanmak (eski "MWSE v2" vizyonu). **Kapsam:** - 3. parti sunucular MWSE ile **https üzerinden get/post** atarak haberleşebilir; websocket desteklemeleri gerekmez. - Application sunucusu merkezde tutularak, MWSE'ye bağlanan tüm client'ların durumu ve mesajları application sunucu üzerinden yönetilebilir; tüm kontrol application'a bırakılabilir. - Bağlantı akışı: client bağlanma isteği gönderir → MWSE bunu Application sunucusuna sorar → Application onaylarsa bağlantı kurulur, yoksa reddedilir. ``` [MWSE Client] → [MWSE Server] → "Connect?" → [Application Server] ``` **Bitti kriteri:** 3. parti bir sunucu https ile MWSE'ye mesaj enjekte edip alabiliyor; bağlantı onayı application'a delege edilebiliyor; testler yeşil.
saqut added this to the 3.0.0 milestone 2026-06-16 23:54:17 +03:00
saqut added the
server-bridge
label 2026-06-16 23:54:17 +03:00
Author
Owner

tamamlandı, go test -race yeşil.

Uygulanan:

  • internal/bridge: Inbox (bounded FIFO, oldest-drop), HTTPApprover (fail-closed bağlantı kapısı), HTTPTrigger (suit-reply push) — birim testleriyle
  • ws.Approver arayüzü + ws.Options.Approver: upgrade öncesi HTTP-level kontrol (403 döner, WebSocket asla açılmaz)
  • services.WithBridgeInbox + bridge/send handler: client mesajları inbox'a yönlendirilir
  • POST /api/bridge/inbox (x-api-key gerekli): uygulama sunucusu inbox'ı boşaltır
  • main.go: BRIDGE_APPROVE_URL / BRIDGE_TRIGGER_URL / BRIDGE_INBOX env ile opsiyonel etkinleştirme
tamamlandı, go test -race yeşil. Uygulanan: - `internal/bridge`: `Inbox` (bounded FIFO, oldest-drop), `HTTPApprover` (fail-closed bağlantı kapısı), `HTTPTrigger` (suit-reply push) — birim testleriyle - `ws.Approver` arayüzü + `ws.Options.Approver`: upgrade öncesi HTTP-level kontrol (403 döner, WebSocket asla açılmaz) - `services.WithBridgeInbox` + `bridge/send` handler: client mesajları inbox'a yönlendirilir - `POST /api/bridge/inbox` (x-api-key gerekli): uygulama sunucusu inbox'ı boşaltır - `main.go`: `BRIDGE_APPROVE_URL` / `BRIDGE_TRIGGER_URL` / `BRIDGE_INBOX` env ile opsiyonel etkinleştirme
saqut closed this issue 2026-06-17 12:06:06 +03:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: saqut/MWSE#46
No description provided.