in server-go/main.go [112:132]
func (gs *genaiServer) chatHandler(w http.ResponseWriter, r *http.Request) {
cr := &chatRequest{}
if err := parseRequestJSON(r, cr); err != nil {
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
cs := gs.startChat(cr.History)
res, err := cs.SendMessage(gs.ctx, genai.Text(cr.Chat))
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
}
resTxt, err := responseString(res)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
renderResponseJSON(w, map[string]string{"text": resTxt})
}