MCPcopy Index your code
hub / github.com/coder/coder / NewStreamableHTTPServerProxy

Function NewStreamableHTTPServerProxy

aibridge/mcp/proxy_streamable_http.go:36–56  ·  view source on GitHub ↗
(serverName, serverURL string, headers map[string]string, allowlist, denylist *regexp.Regexp, logger slog.Logger, tracer trace.Tracer, opts ...transport.StreamableHTTPCOption)

Source from the content-addressed store, hash-verified

34}
35
36func NewStreamableHTTPServerProxy(serverName, serverURL string, headers map[string]string, allowlist, denylist *regexp.Regexp, logger slog.Logger, tracer trace.Tracer, opts ...transport.StreamableHTTPCOption) (*StreamableHTTPServerProxy, error) {
37 // nit: headers should be passed in as an option instead of a separate parameter. Not changed as this would be a breaking change.
38 if headers != nil {
39 opts = append(opts, transport.WithHTTPHeaders(headers))
40 }
41
42 mcpClient, err := client.NewStreamableHttpClient(serverURL, opts...)
43 if err != nil {
44 return nil, xerrors.Errorf("create streamable http client: %w", err)
45 }
46
47 return &StreamableHTTPServerProxy{
48 serverName: serverName,
49 serverURL: serverURL,
50 client: mcpClient,
51 logger: logger,
52 tracer: tracer,
53 allowlistPattern: allowlist,
54 denylistPattern: denylist,
55 }, nil
56}
57
58func (p *StreamableHTTPServerProxy) Name() string {
59 return p.serverName

Callers 3

setupMCPForTestWithNameFunction · 0.92
TestToolInjectionOrderFunction · 0.92

Calls 1

ErrorfMethod · 0.45

Tested by 1

TestToolInjectionOrderFunction · 0.74