+
+void Server::parse_request(Client *client)
+{
+ // TODO: Actually parse the request. :-)
+ client->stream_id = "stream";
+
+ // Construct the header.
+ client->header = "HTTP/1.0 200 OK\r\nContent-type: todo/fixme\r\n\r\n" +
+ streams[client->stream_id].header;
+
+ // Switch states.
+ client->state = Client::SENDING_HEADER;
+
+ epoll_event ev;
+ ev.events = EPOLLOUT | EPOLLRDHUP;
+ ev.data.fd = client->sock;
+
+ if (epoll_ctl(epoll_fd, EPOLL_CTL_MOD, client->sock, &ev) == -1) {
+ perror("epoll_ctl(EPOLL_CTL_MOD)");
+ exit(1);
+ }
+}