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

Method handleResponsesWithLabels

scaletest/llmmock/server.go:293–372  ·  view source on GitHub ↗
(w http.ResponseWriter, r *http.Request)

Source from the content-addressed store, hash-verified

291}
292
293func (s *Server) handleResponsesWithLabels(w http.ResponseWriter, r *http.Request) {
294 s.logger.Debug(r.Context(), "handling OpenAI responses request")
295 defer s.logger.Debug(r.Context(), "handled OpenAI responses request")
296
297 ctx := r.Context()
298 requestID := uuid.New()
299 now := time.Now()
300
301 var req llmRequest
302 if err := json.NewDecoder(r.Body).Decode(&req); err != nil {
303 s.logger.Error(ctx, "failed to parse OpenAI responses request", slog.Error(err))
304 http.Error(w, "invalid request body", http.StatusBadRequest)
305 return
306 }
307
308 if s.artificialLatency > 0 {
309 time.Sleep(s.artificialLatency)
310 }
311
312 var resp responsesResponse
313 resp.ID = fmt.Sprintf("resp_%s", requestID.String()[:8])
314 resp.Object = "response"
315 resp.Created = now.Unix()
316 resp.Model = req.Model
317
318 var responseContent string
319 if s.responsePayloadSize > 0 {
320 pattern := "x"
321 repeated := strings.Repeat(pattern, s.responsePayloadSize)
322 responseContent = repeated[:s.responsePayloadSize]
323 } else {
324 responseContent = "This is a mock response from OpenAI Responses."
325 }
326
327 resp.Output = []struct {
328 ID string `json:"id,omitempty"`
329 Type string `json:"type"`
330 Role string `json:"role"`
331 Content []struct {
332 Type string `json:"type"`
333 Text string `json:"text"`
334 } `json:"content"`
335 }{
336 {
337 ID: fmt.Sprintf("msg_%s", requestID.String()[:8]),
338 Type: "message",
339 Role: "assistant",
340 Content: []struct {
341 Type string `json:"type"`
342 Text string `json:"text"`
343 }{
344 {
345 Type: "output_text",
346 Text: responseContent,
347 },
348 },
349 },
350 }

Callers 1

handleResponsesMethod · 0.95

Calls 10

sendResponsesStreamMethod · 0.95
ContextMethod · 0.65
NewMethod · 0.65
SetMethod · 0.65
WriteMethod · 0.65
ErrorMethod · 0.45
StringMethod · 0.45
MarshalMethod · 0.45
HeaderMethod · 0.45
WriteHeaderMethod · 0.45

Tested by

no test coverage detected