2016-06-10 9 views
0

auf Jetty 9, Ich versuche, einen Handler zu schreiben HTTP-Anfragen zu behandeln. Basierend auf this link Ich brauche den folgenden Code auszuführen:Jetty 9 - HttpCompliance.LEGACY

import org.eclipse.jetty.http.HttpCompliance; 
import org.eclipse.jetty.server.HttpConnectionFactory; 
import org.eclipse.jetty.server.Server; 
public class OneHandler 
{ 
    public static void main(String[] args) throws Exception 
    { 
    Server server = new Server(8080); 
    server.getConnectors()[0].getConnectionFactory(HttpConnectionFactory.class).setHttpCompliance(HttpCompliance.LEGACY); 
    server.setHandler(new HelloHandler()); 

    server.start(); 
    server.join(); 
} } 

Allerdings weiß ich nicht, wo zum Download: org.eclipse.jetty.http.HttpCompliance

Antwort

1

Die HttpCompliance Klasse zeigte zuerst in Jetty bis 9.3.8.v20160314, als Teil der fortgesetzten Bereinigung für RFC7230 (das HTTP/1.x-Update jetzt veraltet RFC2616) spec, so dass Implementierungen weiterhin die ältere (looser) RFC2616-Spezifikation bis zu dem Zeitpunkt hinken mit wenn sie nicht mehr die Wahl haben, RFC2616 zu verwenden (wie der Rest des Webs und seine verbundene Infrastruktur auf RFC7230 als aktualisiert hat) gut)

Würden Sie ermutigen, die HttpCompliance überhaupt nicht anzugeben, oder verwenden Sie die RFC7230 Einstellungen zukunftssicher mit Jetty, die HTTP-Spezifikation und alle der verschiedenen Vermittler, die Sie stoßen, die auch ihre Spezifikationen Support-Levels aktualisieren .

Das gesamte Konzept von HttpCompliance wird in einer zukünftigen Version von Jetty (die LEGACY und RFC2616 Optionen zusammen mit ihm) entfernt werden.

Inzwischen werde ich die Dokumentation bearbeiten Sie diese Zeile aus dem Beispiel zu entfernen (es soll noch nie dort gewesen, in erster Linie)

Dokumentation auf seinem eigenen in einem oder zwei Tagen aktualisiert.

Wechseln Sie zum Beispiel unter https://github.com/eclipse/jetty.project/commit/19e52ab9c48edfe1590603a95637457afa32cfc6