Bredbandskollen CLI  1.2
Asynchronous network task engine
httptask.h
1 // Copyright (c) 2018 IIS (The Internet Foundation in Sweden)
2 // Written by Göran Andersson <initgoran@gmail.com>
3 
4 #pragma once
5 
6 #include "../framework/task.h"
7 #include "httphost.h"
8 
9 class HttpConnection;
10 
12 class HttpTask : public Task {
13 public:
14  HttpTask(const std::string &name) :
15  Task(name) {
16  }
17 
19  virtual bool wsTextMessage(HttpConnection *,
20  const std::string &msg);
21 
23  virtual bool wsBinMessage(HttpConnection *,
24  const std::string &msg);
25 
34  virtual bool wsBinHeader(HttpConnection *, size_t ) {
35  return true;
36  }
37 
46  virtual bool wsTextHeader(HttpConnection *, size_t ) {
47  return true;
48  }
49 
54  virtual bool wsBinData(HttpConnection *, const char *, size_t ) {
55  return false;
56  }
57 
62  virtual bool wsTextData(HttpConnection *, const char *, size_t ) {
63  return false;
64  }
65 
72  virtual size_t sendWsData(HttpConnection *conn);
73 protected:
74 private:
75 };
Definition: httpconnection.h:11
Common API for HTTP server and client tasks.
Definition: httptask.h:12
virtual bool wsBinMessage(HttpConnection *, const std::string &msg)
Incoming websocket binary message. Return false to kill connection.
Definition: httptask.cpp:13
virtual bool wsTextHeader(HttpConnection *, size_t)
Called when headers of a text message are read.
Definition: httptask.h:46
virtual bool wsBinHeader(HttpConnection *, size_t)
Called when headers of a binary message are read.
Definition: httptask.h:34
virtual bool wsTextMessage(HttpConnection *, const std::string &msg)
Incoming websocket text message. Return false to kill connection.
Definition: httptask.cpp:8
virtual bool wsTextData(HttpConnection *, const char *, size_t)
Incoming partial websocket text message.
Definition: httptask.h:62
virtual bool wsBinData(HttpConnection *, const char *, size_t)
Incoming partial websocket binary message.
Definition: httptask.h:54
virtual size_t sendWsData(HttpConnection *conn)
Definition: httptask.cpp:19
The purpose of a task is to manage socket connections, and/or to execute timers.
Definition: task.h:39
Task(const std::string &task_name)
Create a task with the given name.
Definition: task.cpp:13