diff options
author | Nicolas "Pixel" Noble <pixel@nobis-crew.org> | 2013-08-02 10:27:19 +0200 |
---|---|---|
committer | Nicolas "Pixel" Noble <pixel@nobis-crew.org> | 2013-08-02 10:27:19 +0200 |
commit | c6dd17a1435db36eeaff24e40a7cc212ee7214a0 (patch) | |
tree | 15502debbc8827e3d917d6a498723abb40a3c73e /src/HttpServer.cc | |
parent | 9b6dc4d5d83f8acbd82459a0296eb256f632ea02 (diff) |
Using SimpleContext in SimpleMustache's setTemplate, as it reads from a Handle using readU8. We'll switch readU8 to use a Future.
Diffstat (limited to 'src/HttpServer.cc')
-rw-r--r-- | src/HttpServer.cc | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/HttpServer.cc b/src/HttpServer.cc index 357bb26..2bc0710 100644 --- a/src/HttpServer.cc +++ b/src/HttpServer.cc @@ -83,16 +83,23 @@ class HttpWorker : public Task { Balau::SimpleMustache Balau::HttpWorker::m_errorTemplate; -class SetDefaultTemplate : public Balau::AtStart { - public: - SetDefaultTemplate() : AtStart(0) { } - virtual void doStart(); +namespace { + +class SetDefaultTemplateTask : public Balau::Task { static const Balau::String m_defaultErrorTemplate; + virtual const char * getName() const { return "SetDefaultTemplateTask"; } + virtual void Do() { Balau::HttpWorker::buildErrorTemplate(m_defaultErrorTemplate); } +}; + +class SetDefaultTemplate : public Balau::AtStartAsTask { + public: + SetDefaultTemplate() : AtStartAsTask(0) { } + virtual Balau::Task * createStartTask() { return new SetDefaultTemplateTask(); } }; static SetDefaultTemplate setDefaultTemplate; -const Balau::String SetDefaultTemplate::m_defaultErrorTemplate( +const Balau::String SetDefaultTemplateTask::m_defaultErrorTemplate( "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n" "\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n" "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n" @@ -116,9 +123,7 @@ const Balau::String SetDefaultTemplate::m_defaultErrorTemplate( "</html>\n" ); -void SetDefaultTemplate::doStart() { - Balau::HttpWorker::buildErrorTemplate(m_defaultErrorTemplate); -} +}; Balau::HttpWorker::HttpWorker(IO<Handle> io, void * _server) : m_socket(new WriteOnly(io)), m_strm(new BStream(io)) { m_server = (HttpServer *) _server; |