Why do you use a json.Decoder? It seems as reading everything (io.ReadAll) until EOF and json.Unmarshal'ling would be a cleaner/simpler solution?
V. On Tuesday, 17 October 2023 at 09:10:09 UTC+2 Christopher C wrote: > Hello all! > I'm trying to read json objects from a named pipe. The pipe will be > filled intermittently by bash scripts. After the Decode() of the first > object, any more calls to Decode() will return EOF. This seems proper > since the script has completed, but once it errors with EOF, there doesn't > seem to be a way to read any more. > > Is there a way to 'reset' the decoder so when another script writes to the > pipe it can process the next object, or should I be doing some pipe length > validation before trying to decode? > > Current read code snippet is... > > decoder := json.NewDecoder(fpipe) > for { > err := decoder.Decode(&msg) > if err != nil { > if err == io.EOF { > // how to reset this? > } else { > logger.Fatal(err) > } > } else { > // send out the msg > > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/0cb1918d-2eb9-41e1-86f0-8cd02e6a0113n%40googlegroups.com.