Docker creazione di immagini API/trazione (/v1.6/images/create) a quanto pare sempre tornareCome gestire l'API docker/images/create?
HTTP/1.1 200 OK
Content-Type: application/json
non importa se il processo è un successo o un fallimento.
Inoltre, il payload non è valido JSON.
ad esempio: /v1.6/images/create?fromImage=whatevertheflush
rendimenti:
{"status":"Pulling repository whatevertheflush"}{"error":"Server error: 404 trying to fetch remote history for whatevertheflush","errorDetail":{"code":404,"message":"Server error: 404 trying to fetch remote history for whatevertheflush"}}
Non essendo JSON valido, e l'errore HTTP non vengano inoltrati/usato lo rende scomodo da maneggiare errori per i clienti.
Infatti, docker-py si limita a vomitare il carico utile (https://github.com/dotcloud/docker-py/blob/master/docker/client.py#L374). E DockerHTTPClient da openstack prova a restituire un valore basato sul codice di errore http, che è sempre 200 ... (https://github.com/openstack/nova/blob/master/nova/virt/docker/client.py#L191)
Ora, capisco che il pull potrebbe richiedere molto tempo e che in qualche modo ha senso iniziare trasmettere una risposta al cliente, ma non posso fare a meno di pensare che qui qualcosa non va.
Quindi, questo è tre volte:
- mi sto perdendo qualcosa di completamente qui?
- in caso contrario: se si sta implementando un'applicazione client (ad esempio in Python), come gestirli (in modo elegante, se possibile :))? provare a rilevare blocchi JSON validi, caricarli e uscire ogni volta che "pensiamo" che qualcosa non va?
- in caso contrario: questo cambierà (in meglio) nelle future versioni di finestra mobile?
Beh, non è solo la codifica chunked, è anche pezzi di JSON - anzi, ho finito-a scrivere un parser in python pure. Grazie per la risposta però. –