router-for-me/CLIProxyAPI · error

failed to create gzip reader: %w

Error message

failed to create gzip reader: %w

What it means

Error "failed to create gzip reader: %w" thrown in router-for-me/CLIProxyAPI.

Source

Thrown at internal/logging/request_logger_format.go:594

		return l.decompressZstd(response)
	default:
		// No compression or unsupported compression
		return response, nil
	}
}

// decompressGzip decompresses gzip-encoded data.
//
// Parameters:
//   - data: The gzip-encoded data to decompress
//
// Returns:
//   - []byte: The decompressed data
//   - error: An error if decompression fails, nil otherwise
func (l *FileRequestLogger) decompressGzip(data []byte) ([]byte, error) {
	reader, err := gzip.NewReader(bytes.NewReader(data))
	if err != nil {
		return nil, fmt.Errorf("failed to create gzip reader: %w", err)
	}
	defer func() {
		if errClose := reader.Close(); errClose != nil {
			log.WithError(errClose).Warn("failed to close gzip reader in request logger")
		}
	}()

	decompressed, err := io.ReadAll(reader)
	if err != nil {
		return nil, fmt.Errorf("failed to decompress gzip data: %w", err)
	}

	return decompressed, nil
}

// decompressDeflate decompresses deflate-encoded data.
//
// Parameters:

View on GitHub (pinned to 78f0c4079e)

Solutions

  1. Verify the logged request body is valid gzip data.
  2. Check the wrapped error for corrupted or truncated gzip streams.

When it happens

Trigger: Thrown at internal/logging/request_logger_format.go:594 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of router-for-me/CLIProxyAPI@78f0c4079e (2026-08-15). Data as JSON: /api/errors/c1b55d4a8a292dfe. Report an issue: GitHub.