chore(openrouter): same to temp file for debugging

Andrey Nering created

Change summary

cmd/openrouter/main.go | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)

Detailed changes

cmd/openrouter/main.go 🔗

@@ -136,17 +136,28 @@ func fetchOpenRouterModels() (*ModelsResponse, error) {
 		nil,
 	)
 	req.Header.Set("User-Agent", "Crush-Client/1.0")
+
 	resp, err := client.Do(req)
 	if err != nil {
 		return nil, err //nolint:wrapcheck
 	}
 	defer resp.Body.Close() //nolint:errcheck
-	if resp.StatusCode != 200 {
-		body, _ := io.ReadAll(resp.Body)
+
+	body, err := io.ReadAll(resp.Body)
+	if err != nil {
+		return nil, fmt.Errorf("unable to read models response body: %w", err)
+	}
+
+	if resp.StatusCode != http.StatusOK {
 		return nil, fmt.Errorf("status %d: %s", resp.StatusCode, body)
 	}
+
+	// for debugging
+	_ = os.MkdirAll("tmp", 0o700)
+	_ = os.WriteFile("tmp/openrouter-response.json", body, 0o600)
+
 	var mr ModelsResponse
-	if err := json.NewDecoder(resp.Body).Decode(&mr); err != nil {
+	if err := json.Unmarshal(body, &mr); err != nil {
 		return nil, err //nolint:wrapcheck
 	}
 	return &mr, nil