diff --git a/main.go b/main.go index 977f1cb..73a0fac 100644 --- a/main.go +++ b/main.go @@ -110,8 +110,8 @@ func main() { debugLog("Response: %s", string(response)) - // Write response to stdout - fmt.Println(string(response)) + // Write response to stdout with Content-Length framing + writeFramed(response) } } @@ -211,7 +211,11 @@ func readMessage(reader *bufio.Reader) ([]byte, error) { func writeResponse(resp interface{}) { data, _ := json.Marshal(resp) - fmt.Println(string(data)) + writeFramed(data) +} + +func writeFramed(data []byte) { + fmt.Fprintf(os.Stdout, "Content-Length: %d\r\n\r\n%s", len(data), data) } func debugLog(format string, args ...interface{}) {