2017-08-24 8 views
0

Gemäß den hapi framework docs here und dem Lernprogramm here müssen Sie den Server erst konfigurieren, indem Sie server.state (...) sofort nach dem Erstellen des Servers aufrufen.Erstellen eines Cookies über Hapi.js

Ich habe den folgenden Code

const server = new hapi.Server(); 

try { 
    server.state('session', { 
     ttl: 1000 * 60 * 60 * 24, 
     encoding: 'base64json' 
    }) 
} catch (err) { 
    server.app.cookieError = err 
} 

die in den folgenden Fehler führt:

Error: Cannot add state without a connection 

Ich folgte haben die Dokumente und andere Tutorials genau, sollte dieser Fehler nicht passieren, habe ich gesucht Google für den Fehlertext und es bringt null Ergebnisse!

Antwort

2

Auf diese Weise müssen Sie Ihren Server mit Verbindung konfigurieren und dann starten.

'use strict'; 

const Hapi = require('hapi'); 
const server = new Hapi.Server(); 

server.connection({ port: 3000, host: 'localhost'}); 

server.state('session', { 
    ttl: 1000 * 60 * 60 * 24, 
    encoding: 'base64json' 
}) 

server.start((err) => { 
    if (err) { 
     throw err; 
    } 

    console.log(`Server running at: ${server.info.uri}`); 
}) 
+0

Ich vermute, dass Sie richtig sind, da die Intellisense-Kommentare für server.connection speziell server.state erwähnen. Aber wenn ich server.connection anrufe, nimmt es die ganze App mit einem HTTP 503 – Michael

+0

Ich verstehe deine Frage nicht, die Antworten sind da, wenn du eine andere Antwort brauchst, musst du deine Frage verbessern. – Sornii

+0

ignoriere, was ich gesagt habe, ich habe irrtümlicherweise eine neue Verbindung hinzugefügt, anstatt einfach meine bestehende Verbindung ein paar Zeilen nach oben zu bewegen. Danke für deine Antwort, funktioniert perfekt :) – Michael

3

Ich denke, dass Sie den Server starten müssen, indem Sie server.connection-Methode aufrufen, bevor Sie den Status initiieren.