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

Function NewOpenAI

coderd/x/chatd/chattest/openai.go:192–211  ·  view source on GitHub ↗

NewOpenAI creates a new OpenAI test server with a handler function. The handler is called for each request and should return either a streaming response (via channel) or a non-streaming response. Returns the base URL of the server.

(t testing.TB, handler OpenAIHandler)

Source from the content-addressed store, hash-verified

190// response (via channel) or a non-streaming response.
191// Returns the base URL of the server.
192func NewOpenAI(t testing.TB, handler OpenAIHandler) string {
193 t.Helper()
194
195 s := &openAIServer{
196 t: t,
197 handler: handler,
198 }
199
200 mux := http.NewServeMux()
201 mux.HandleFunc("POST /chat/completions", s.handleChatCompletions)
202 mux.HandleFunc("POST /responses", s.handleResponses)
203
204 s.server = httptest.NewServer(mux)
205
206 t.Cleanup(func() {
207 s.server.Close()
208 })
209
210 return s.server.URL
211}
212
213func (s *openAIServer) handleChatCompletions(w http.ResponseWriter, r *http.Request) {
214 body, err := io.ReadAll(r.Body)

Calls 3

HelperMethod · 0.65
CleanupMethod · 0.65
CloseMethod · 0.65