-#include <arpa/inet.h>
+#include "httpd.h"
+
#include <assert.h>
+#include <byteswap.h>
#include <endian.h>
#include <microhttpd.h>
+#include <netinet/in.h>
#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
-
-#include <vector>
-
-#include "httpd.h"
+#include <sys/time.h>
+#include <time.h>
+#include <memory>
#include "defs.h"
-#include "flags.h"
#include "metacube2.h"
-#include "timebase.h"
struct MHD_Connection;
struct MHD_Response;
HTTPD::~HTTPD()
{
- MHD_quiesce_daemon(mhd);
- for (Stream *stream : streams) {
- stream->stop();
+ if (mhd) {
+ MHD_quiesce_daemon(mhd);
+ for (Stream *stream : streams) {
+ stream->stop();
+ }
+ MHD_stop_daemon(mhd);
}
- MHD_stop_daemon(mhd);
}
void HTTPD::start(int port)
&answer_to_connection_thunk, this,
MHD_OPTION_NOTIFY_COMPLETED, nullptr, this,
MHD_OPTION_END);
+ if (mhd == nullptr) {
+ fprintf(stderr, "Warning: Could not open HTTP server. (Port already in use?)\n");
+ }
}
void HTTPD::add_data(const char *buf, size_t size, bool keyframe)