/ / Golang Http Richiesta del client non riesce sul codice di stato Http personalizzato - go, httpclient

La richiesta del client Http di Golang non riesce sul codice di stato Http personalizzato - go, httpclient

Stiamo riscrivendo una vecchia integrazione con aservizio da Python a Golang. Questo servizio utilizza i codici di stato personalizzati. Ad esempio il codice di stato è 8000. Ma mentre sto cercando di ottenere la risposta mi sta dando errore come "codice di stato HTTP malformato". Qualcuno può aiutarmi a risolvere questo problema. Passato attraverso il codice e trovato il seguente pezzo di codice che genera l'errore se il codice di stato non ha la lunghezza di 3.

   if len(statusCode) != 3 {
return nil, &badStringError{"malformed HTTP status code", statusCode}
}

MODIFICARE: Capisco lo standard RFC per lo stato HTTP è di 3 cifre. Ma sto reintegrando un codice legacy di un sistema bancario. Quindi non posso / non ho l'accesso per cambiare l'implementazione del servizio.

Per dare più contesto, la libreria HTTP di Python eranon facendo questa convalida. (Non sto dicendo che una lingua è superiore a un'altra, quindi per favore non paragonare le lingue / le librerie) Quindi chiedendosi se c'è un modo per aggirare questa particolare convalida. Grazie in anticipo per la comprensione ..

risposte:

1 per risposta № 1

Se si desidera è possibile utilizzare un codice standard per informazioni generali (ok, errore del client, errore del server, ecc.) E codici di applicazione personalizzati trasferiti nel carico utile per ulteriori dettagli.


1 per risposta № 2

Da RFC 2616:

L'elemento Codice di stato è un codice di risultato intero a 3 cifre del tentativo

Quello che hai non è un HTTP valido. Se riesci a ottenere direttamente il socket, puoi provare a analizzare i dati TCP non elaborati.