caddy_adapter.go 688 B

123456789101112131415161718192021222324
  1. package openai_ws_v2
  2. import (
  3. "context"
  4. )
  5. // runCaddyStyleRelay 采用 Caddy reverseproxy 的双向隧道思想:
  6. // 连接建立后并发复制两个方向,任一方向退出触发收敛关闭。
  7. //
  8. // Reference:
  9. // - Project: caddyserver/caddy (Apache-2.0)
  10. // - Commit: f283062d37c50627d53ca682ebae2ce219b35515
  11. // - Files:
  12. // - modules/caddyhttp/reverseproxy/streaming.go
  13. // - modules/caddyhttp/reverseproxy/reverseproxy.go
  14. func runCaddyStyleRelay(
  15. ctx context.Context,
  16. clientConn FrameConn,
  17. upstreamConn FrameConn,
  18. firstClientMessage []byte,
  19. options RelayOptions,
  20. ) (RelayResult, *RelayExit) {
  21. return Relay(ctx, clientConn, upstreamConn, firstClientMessage, options)
  22. }