Ich arbeite an einer kleinen REST-API, geschrieben in RoR (3.2), die ich hinter einer Varnish Cache-Instanz verwenden werde.Rendern von Daten in Kopfzeilen mit RoR
Diese API wird von Varnish cURL VMOD aufgerufen, um die Anzahl der Benutzer zu begrenzen.
Die große Sache ist, dass Varnish ist nicht gut im Umgang mit HTTP-Daten, außer Header.
Also würde ich gerne Datenfelder als HTTP-Header (3 Felder max) zurückgeben, aber ich bin mir nicht sicher, wie dies in einer richtigen MVC-Weise zu tun.
Können Kopfzeilen als gültiges Ansichts- oder Renderformat betrachtet werden?
Sollen Header in der Steuerung oder in der Ansicht geschrieben werden? (wissend, dass zurückgegebene Daten von 2 Modellen stammen).
Beachten Sie auch, dass ich gemeinsame HTML- und JSON-Ausgaben in einer zukünftigen Phase behandeln muss.
Ich weiß, das sowieso ein schmutziges Hack sein wird, aber glauben Sie mir: Lack fragen auf Antwort Körper zu arbeiten, noch schlimmer auf json oder XML, würde x10 mehr schmutzig ...
Dank sein!
Vielen Dank! Ich wusste nichts von "render =>: nothing". Dadurch kann die Ansichtspipeline umgangen werden, wenn ich sie nicht verwende. Wie ich dachte, sollten Header im Controller geschrieben werden. Aber wie frage ich nach der "header version"? Es gibt keinen MIME-Typ für Header. Soll ich das angeforderte Format mit der Erweiterung ".headers" angeben? Oder gibt es einen anderen Weg? –
Request-Objekt im Controller hat die Details, die Sie benötigen. Das Format kann über die angeforderte Benutzeraktion festgelegt werden - siehe http://apidock.com/rails/ActionController/MimeResponds/InstanceMethods/respand_to – Sairam