The original Go function is shown below. Initially, a JSON-encoded string is sent from the client. The first print function is used to view the output after decoding.
func SendClaim(w http.ResponseWriter, r *http.Request) { // strEcho := "Halo" servAddr := tcpAddress type Resp struct { Status string `json:"status"` Reply string `json:"reply"` } type Claim struct { ClaimInfo string `json:"claiminfo"` } var params Claim erx := json.NewDecoder(r.Body).Decode(¶ms) if erx != nil { http.Error(w, erx.Error(), http.StatusBadRequest) fmt.Println("Error occurs here") log.Printf(erx.Error()) return } fmt.Printf("Claims: %s \n", params) // policy := params.CardNo //r.FormValue("cardno") // log.Println("policy # ", policy) tcpAddr, err := net.ResolveTCPAddr("tcp", servAddr) if err != nil { println("ResolveTCPAddr failed:", err.Error()) respondWithError(w, http.StatusBadRequest, err.Error()) return } data := params.ClaimInfo // printr := r.FormValue("printer") fmt.Println(data) conn, err := net.DialTCP("tcp", nil, tcpAddr) if err != nil { println("Dial failed:", err.Error()) respondWithError(w, http.StatusBadRequest, err.Error()) return } _, err = conn.Write([]byte(data)) if err != nil { println("Write to server failed:", err.Error()) respondWithError(w, http.StatusBadRequest, err.Error()) return } reply := make([]byte, 1024) _, err = conn.Read(reply) if err != nil { println("Write to server failed:", err.Error()) respondWithError(w, http.StatusBadRequest, err.Error()) return } resp := Resp{} println("reply from server=", string(reply)) resp.Status = "response" resp.Reply = string(reply) respondWithJSON(w, http.StatusOK, resp) conn.Close() } On Tuesday, July 2, 2024 at 9:28:01 AM UTC-4 Hugh Myrie wrote: > Copying the result to notepad confirms the missing special characters.. > > I'll try your suggestion. > > Thanks. > > > <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> > > Virus-free.www.avg.com > <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> > > <#m_4334311486301273828_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> > > On Tue, Jul 2, 2024 at 8:33 AM 'Dan Kortschak' via golang-nuts < > golan...@googlegroups.com> wrote: > >> On Mon, 2024-07-01 at 12:03 -0700, Hugh Myrie wrote: >> > I am trying to preserve special characters (group separators and >> > field separators) when reading the request body from a POST request. >> > >> > When I do a dumpRequest I am able to see the special characters (Hex >> > Format, for example: \x1c or \x03). I am sending the data from the >> > client as text/plain. >> > >> > I have tried sending the data as JSON and using the decoder in Go. I >> > have also tried using Base64 and decoding in go accordingly. I have >> > tried json.unmarshal to decode the incoming JSON data. However, in >> > every instance the special characters are removed. >> > >> > I need the special characters to be preserved so I can send the data >> > for further processing. I need the special characters not the >> > hexadecimal representation. >> > >> > I am able to see the actual data being sent to the Go server. I also >> > tried encoding the data from the client side. >> > >> > Your help would be greatly appreciated. >> >> This looks to be working as expected. https://go.dev/play/p/fqLPbsMKaOm >> >> How are you seeing the bytes being missing? >> >> >> -- >> You received this message because you are subscribed to a topic in the >> Google Groups "golang-nuts" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/golang-nuts/8cLWTdxHQCI/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> golang-nuts...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/golang-nuts/9cf1e4d31b68f7601839a450e1a9aa572458e756.camel%40kortschak.io >> . >> > > > -- > http://www.jaxtr.com/blessed_hope > -- 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/6fd2520e-a7e3-43ed-89d5-dc96419d8a89n%40googlegroups.com.