diff options
author | David Robillard <d@drobilla.net> | 2008-11-15 22:56:24 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-11-15 22:56:24 +0000 |
commit | fb6471ac9d5daefd3655bc19532a6028b5f0ead4 (patch) | |
tree | bec99ab0a594e3be390b393af63064ce4a26f57f /src/engine/HTTPEngineReceiver.cpp | |
parent | 6f0b9a0c5a21bb660363d417313add2f66447255 (diff) | |
download | ingen-fb6471ac9d5daefd3655bc19532a6028b5f0ead4.tar.gz ingen-fb6471ac9d5daefd3655bc19532a6028b5f0ead4.tar.bz2 ingen-fb6471ac9d5daefd3655bc19532a6028b5f0ead4.zip |
Stubs for HTTP streaming.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1719 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine/HTTPEngineReceiver.cpp')
-rw-r--r-- | src/engine/HTTPEngineReceiver.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/engine/HTTPEngineReceiver.cpp b/src/engine/HTTPEngineReceiver.cpp index 8a035175..9b6b6fb9 100644 --- a/src/engine/HTTPEngineReceiver.cpp +++ b/src/engine/HTTPEngineReceiver.cpp @@ -32,6 +32,7 @@ #include "QueuedEventSource.hpp" #include "ClientBroadcaster.hpp" #include "EngineStore.hpp" +#include "HTTPClientSender.hpp" using namespace std; using namespace Ingen::Shared; @@ -126,6 +127,7 @@ HTTPEngineReceiver::message_callback(SoupServer* server, SoupMessage* msg, const if (path == "/" || path == "") { const string r = string("@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .\n") .append("\n<> rdfs:seeAlso <plugins> ;") + .append("\n rdfs:seeAlso <stream> ;") .append("\n rdfs:seeAlso <patch> ."); soup_message_set_status(msg, SOUP_STATUS_OK); soup_message_set_response(msg, mime_type, SOUP_MEMORY_COPY, r.c_str(), r.length()); @@ -146,6 +148,14 @@ HTTPEngineReceiver::message_callback(SoupServer* server, SoupMessage* msg, const return; } else if (path.substr(0, 6) == "/patch") { path = '/' + path.substr(6); + } else if (path.substr(0, 7) == "/stream") { + cout << "REGISTERING CLIENT" << endl; + // FIXME: memory leak + ClientInterface* client = new HTTPClientSender(me->_server, msg); + soup_message_headers_set_encoding(msg->response_headers, SOUP_ENCODING_CHUNKED); + me->register_client(client); + return; + } else { cout << "UNKNOWN PATH: " << path << endl; soup_message_set_status(msg, SOUP_STATUS_NOT_FOUND); |