2016-11-30 3 views
0

Was ich erreicht habe versucht ist:Verbindungsstatus mit libmicrohttpd und http 102

  1. http 102 an den Client senden, die somedoc.html

    angefordert
  2. einige Verarbeitung auf der Seite auch außerhalb der Band-Authentifizierung

  3. Wenn authentifiziert, Antwort von somedoc.html gebaut senden, sonst generic nicht auth Nachricht

Ich habe ein Versäumnis, irgendwo zu verstehen, in dem ich nicht herausfinden kann, wie man die 102 sendet und die Verbindungsdetails speichert, damit ich die Antwort in Schritt 3 weiterleiten kann. Ich hatte gedacht, ich könnte eine Antwort in die Warteschlange stellen dann entweder eine Warteschleife eingeben oder die Verbindung unterbrechen, aber soweit ich das sagen kann, muss ich von der MHD_AcceptPolicyCallback zurückkommen, damit die Antwort gesendet wird, dann kann ich nicht herausfinden, wie ich wieder zur Verbindung komme. Ich habe mir den Rückruf Rückruf gewünscht aber das führt immer noch dazu, dass die 102 nicht gesendet werden.

Ich kann wirklich nicht herausfinden, ein Prozess, um diese Schritte aus den Beispielen oder dem Handbuch zu erreichen, und jede Hilfe wäre willkommen.

Antwort

0

HTTP-Standards definiert nicht Antwortcode 102.
Siehe https://tools.ietf.org/html/rfc7231#section-6
und https://tools.ietf.org/html/rfc2616#section-6.1.1

HTTP-Protokoll verwenden Anfrage-Antwort-Logik. Wenn Sie bereits auf eine Anfrage geantwortet haben, können Sie später nicht mehr dieselbe Anfrage zu derselben Anfrage hinzufügen.

+0

Ich fragte diese Frage auf dem Mailing und bekam eine ähnliche Antwort, so tut mir leid, wenn dies die gleiche Person ist aber: Es wurde in RFC 2518 definiert, die von RFC 4918 für WebDAV aktualisiert/veraltet wurde. Zugegeben, sie haben http (aus Mangel an Implementierung) aus der Spezifikation entfernt und weisen darauf hin, dass sich ihre IANA-Registrierung weiterhin auf RDF2518 beziehen sollte. Es ist in libmicrohttpd als MHD_HTTP_PROCESSING implementiert. Die Verwendung des MHD_HTTP_PROCESSING-Codes erfordert einen Mechanismus, um zuerst eine Antwort mit diesem Code zu senden und dann eine endgültige Antwort zu senden. – dt647146

0

Nach Rücksprache mit dem Entwickler wurde der Statuscode 102 "aus Gründen der Vollständigkeit" definiert; Es wurde jedoch kein Versuch unternommen, die erforderliche Funktionalität zu implementieren, um diesen Statuscode tatsächlich sinnvoll auf einem Server verwenden zu können, der mit der Bibliothek libmicrohttpd entwickelt wurde.

Verwandte Themen