2016-04-25 7 views
1

Ich habe einen einfachen Endpunkt ausgesetzt, der zwei Abfrageparameter einnimmt. Wenn ich den Code lokal teste, habe ich keine Probleme. Aber wenn zu prod Einsatz sehe ich die folgende Meldung:Akka-http illegale Anfrage-Header

a.a.ActorSystemImpl Illegal request header: Illegal 'cookie' header: Invalid input '/', expected tchar, '\r', WSP or '=' (line 1, column 186): ... 

Wie Sie sehen, ich bin keine Cookie-Parsing tun

import akka.actor.{ActorSystem, Props} 
import akka.http.scaladsl.Http 
import akka.http.scaladsl.server.Directives._ 
import akka.stream.ActorMaterializer 
import akka.stream.scaladsl.Sink 

object MainApp extends App { 
    implicit val system = ActorSystem() 
    implicit val materializer = ActorMaterializer() 

    private val config = system.settings.config 

    private val server = Http().bind(config.getString("akka.http.server.interface"), config.getInt("akka.http.server.port")) 

    private val route = { 
    path("replay") { 
     get { 
     parameters("fromDate", "toDate") { (fromDate, toDate) => 
      complete { 
      <some other code> 
      } 
     } 
     } 
    } 
    } 

    val bindingFuture = server.to(Sink.foreach { 
    connection => 
     connection handleWith route 
    }).run() 
} 

Irgendwelche Vorschläge wäre willkommen!

+0

Wie lautet Ihre URL? – Rumoku

+0

@rumoku 'https: // .com/Wiedergabe? FromDate = 201604250700 & toDate = 201604250705' – zaxme

Antwort

4

Sie erhalten eine unzulässige Anfrage Header-Ausnahme, also, was auch immer Ihren Endpunkt anruft (die Anfrage) übergibt Ihnen diesen illegalen Cookie Header-Wert. Es hat nichts mit diesem Code zur Bearbeitung von Anfragen zu tun. Einfach ausgedrückt: "Sie sind es nicht, es sind sie".

Solange die Anfrage selbst gültig ist (abgesehen von diesem schlechten Header), sollte die Verarbeitung fortgesetzt werden (es ist nicht Terminal). Sie können versuchen, herauszufinden, was Sie anruft und es beheben, um diese Warnmeldung loszuwerden. Wenn sie Ihnen einen Keks geben, möchten sie wahrscheinlich, dass Sie ihn richtig erhalten und verwenden können. Wenn das keine Option ist, können Sie die folgende Konfigurationseinstellung zu Ihrem Schauspieler System hinzufügen:

akka.http.server.parsing.illegal-header-warnings = on 

, dass diese Warnung für Sie ruhig, wenn Sie nicht das zugrunde liegende Problem behoben bekommen.

Verwandte Themen