├── .gitignore ├── LICENSE ├── Makefile ├── README.md ├── projects ├── msvs │ ├── httpserver.sln │ ├── httpserver.vcxproj │ ├── httpserver.vcxproj.filters │ └── httpserver.vcxproj.user └── qt-creator │ └── httpserver.qbs ├── samples ├── apps.conf ├── main.conf └── mimes.conf └── src ├── Main.cpp ├── Main.h ├── SignalHandlers.cpp ├── SignalHandlers.h ├── server ├── Request.cpp ├── Request.h ├── Server.cpp ├── Server.h ├── ServerApplicationSettings.h ├── ServerApplicationsTree.cpp ├── ServerApplicationsTree.h ├── ServerControls.cpp ├── ServerControls.h ├── ServerSettings.cpp ├── ServerSettings.h ├── ServerStructuresArguments.h ├── SocketsQueue.h ├── config │ ├── ConfigParser.cpp │ └── ConfigParser.h ├── data-variant │ ├── Abstract.cpp │ ├── Abstract.h │ ├── FormUrlencoded.cpp │ ├── FormUrlencoded.h │ ├── MultipartFormData.cpp │ ├── MultipartFormData.h │ ├── TextPlain.cpp │ └── TextPlain.h └── protocol │ ├── ServerHttp1.cpp │ ├── ServerHttp1.h │ ├── ServerHttp2.cpp │ ├── ServerHttp2.h │ ├── ServerHttp2Protocol.cpp │ ├── ServerHttp2Protocol.h │ ├── ServerHttp2Stream.cpp │ ├── ServerHttp2Stream.h │ ├── ServerProtocol.cpp │ ├── ServerProtocol.h │ ├── ServerWebSocket.cpp │ ├── ServerWebSocket.h │ └── extensions │ ├── Sendfile.cpp │ └── Sendfile.h ├── socket ├── Adapter.cpp ├── Adapter.h ├── AdapterDefault.cpp ├── AdapterDefault.h ├── AdapterTls.cpp ├── AdapterTls.h ├── List.cpp ├── List.h ├── Socket.cpp └── Socket.h ├── system ├── Cache.h ├── GlobalMutex.cpp ├── GlobalMutex.h ├── Module.cpp ├── Module.h ├── SharedMemory.cpp ├── SharedMemory.h ├── System.cpp └── System.h ├── transfer ├── AppRequest.h ├── AppResponse.h ├── FileIncoming.cpp ├── FileIncoming.h ├── HttpStatusCode.h ├── ProtocolVariant.h └── http2 │ ├── HPack.cpp │ ├── HPack.h │ ├── Http2.cpp │ └── Http2.h └── utils ├── Event.cpp ├── Event.h ├── Utils.cpp └── Utils.h /.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/README.md -------------------------------------------------------------------------------- /projects/msvs/httpserver.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/projects/msvs/httpserver.sln -------------------------------------------------------------------------------- /projects/msvs/httpserver.vcxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/projects/msvs/httpserver.vcxproj -------------------------------------------------------------------------------- /projects/msvs/httpserver.vcxproj.filters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/projects/msvs/httpserver.vcxproj.filters -------------------------------------------------------------------------------- /projects/msvs/httpserver.vcxproj.user: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/projects/msvs/httpserver.vcxproj.user -------------------------------------------------------------------------------- /projects/qt-creator/httpserver.qbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/projects/qt-creator/httpserver.qbs -------------------------------------------------------------------------------- /samples/apps.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/samples/apps.conf -------------------------------------------------------------------------------- /samples/main.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/samples/main.conf -------------------------------------------------------------------------------- /samples/mimes.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/samples/mimes.conf -------------------------------------------------------------------------------- /src/Main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/Main.cpp -------------------------------------------------------------------------------- /src/Main.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /** 4 | * Empty 5 | */ -------------------------------------------------------------------------------- /src/SignalHandlers.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/SignalHandlers.cpp -------------------------------------------------------------------------------- /src/SignalHandlers.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/SignalHandlers.h -------------------------------------------------------------------------------- /src/server/Request.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/Request.cpp -------------------------------------------------------------------------------- /src/server/Request.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/Request.h -------------------------------------------------------------------------------- /src/server/Server.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/Server.cpp -------------------------------------------------------------------------------- /src/server/Server.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/Server.h -------------------------------------------------------------------------------- /src/server/ServerApplicationSettings.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/ServerApplicationSettings.h -------------------------------------------------------------------------------- /src/server/ServerApplicationsTree.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/ServerApplicationsTree.cpp -------------------------------------------------------------------------------- /src/server/ServerApplicationsTree.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/ServerApplicationsTree.h -------------------------------------------------------------------------------- /src/server/ServerControls.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/ServerControls.cpp -------------------------------------------------------------------------------- /src/server/ServerControls.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/ServerControls.h -------------------------------------------------------------------------------- /src/server/ServerSettings.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/ServerSettings.cpp -------------------------------------------------------------------------------- /src/server/ServerSettings.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/ServerSettings.h -------------------------------------------------------------------------------- /src/server/ServerStructuresArguments.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/ServerStructuresArguments.h -------------------------------------------------------------------------------- /src/server/SocketsQueue.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/SocketsQueue.h -------------------------------------------------------------------------------- /src/server/config/ConfigParser.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/config/ConfigParser.cpp -------------------------------------------------------------------------------- /src/server/config/ConfigParser.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/config/ConfigParser.h -------------------------------------------------------------------------------- /src/server/data-variant/Abstract.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/data-variant/Abstract.cpp -------------------------------------------------------------------------------- /src/server/data-variant/Abstract.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/data-variant/Abstract.h -------------------------------------------------------------------------------- /src/server/data-variant/FormUrlencoded.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/data-variant/FormUrlencoded.cpp -------------------------------------------------------------------------------- /src/server/data-variant/FormUrlencoded.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/data-variant/FormUrlencoded.h -------------------------------------------------------------------------------- /src/server/data-variant/MultipartFormData.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/data-variant/MultipartFormData.cpp -------------------------------------------------------------------------------- /src/server/data-variant/MultipartFormData.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/data-variant/MultipartFormData.h -------------------------------------------------------------------------------- /src/server/data-variant/TextPlain.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/data-variant/TextPlain.cpp -------------------------------------------------------------------------------- /src/server/data-variant/TextPlain.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/data-variant/TextPlain.h -------------------------------------------------------------------------------- /src/server/protocol/ServerHttp1.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/protocol/ServerHttp1.cpp -------------------------------------------------------------------------------- /src/server/protocol/ServerHttp1.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/protocol/ServerHttp1.h -------------------------------------------------------------------------------- /src/server/protocol/ServerHttp2.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/protocol/ServerHttp2.cpp -------------------------------------------------------------------------------- /src/server/protocol/ServerHttp2.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/protocol/ServerHttp2.h -------------------------------------------------------------------------------- /src/server/protocol/ServerHttp2Protocol.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/protocol/ServerHttp2Protocol.cpp -------------------------------------------------------------------------------- /src/server/protocol/ServerHttp2Protocol.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/protocol/ServerHttp2Protocol.h -------------------------------------------------------------------------------- /src/server/protocol/ServerHttp2Stream.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/protocol/ServerHttp2Stream.cpp -------------------------------------------------------------------------------- /src/server/protocol/ServerHttp2Stream.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/protocol/ServerHttp2Stream.h -------------------------------------------------------------------------------- /src/server/protocol/ServerProtocol.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/protocol/ServerProtocol.cpp -------------------------------------------------------------------------------- /src/server/protocol/ServerProtocol.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/protocol/ServerProtocol.h -------------------------------------------------------------------------------- /src/server/protocol/ServerWebSocket.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/protocol/ServerWebSocket.cpp -------------------------------------------------------------------------------- /src/server/protocol/ServerWebSocket.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/protocol/ServerWebSocket.h -------------------------------------------------------------------------------- /src/server/protocol/extensions/Sendfile.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/protocol/extensions/Sendfile.cpp -------------------------------------------------------------------------------- /src/server/protocol/extensions/Sendfile.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/server/protocol/extensions/Sendfile.h -------------------------------------------------------------------------------- /src/socket/Adapter.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/socket/Adapter.cpp -------------------------------------------------------------------------------- /src/socket/Adapter.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/socket/Adapter.h -------------------------------------------------------------------------------- /src/socket/AdapterDefault.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/socket/AdapterDefault.cpp -------------------------------------------------------------------------------- /src/socket/AdapterDefault.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/socket/AdapterDefault.h -------------------------------------------------------------------------------- /src/socket/AdapterTls.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/socket/AdapterTls.cpp -------------------------------------------------------------------------------- /src/socket/AdapterTls.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/socket/AdapterTls.h -------------------------------------------------------------------------------- /src/socket/List.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/socket/List.cpp -------------------------------------------------------------------------------- /src/socket/List.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/socket/List.h -------------------------------------------------------------------------------- /src/socket/Socket.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/socket/Socket.cpp -------------------------------------------------------------------------------- /src/socket/Socket.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/socket/Socket.h -------------------------------------------------------------------------------- /src/system/Cache.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/system/Cache.h -------------------------------------------------------------------------------- /src/system/GlobalMutex.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/system/GlobalMutex.cpp -------------------------------------------------------------------------------- /src/system/GlobalMutex.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/system/GlobalMutex.h -------------------------------------------------------------------------------- /src/system/Module.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/system/Module.cpp -------------------------------------------------------------------------------- /src/system/Module.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/system/Module.h -------------------------------------------------------------------------------- /src/system/SharedMemory.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/system/SharedMemory.cpp -------------------------------------------------------------------------------- /src/system/SharedMemory.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/system/SharedMemory.h -------------------------------------------------------------------------------- /src/system/System.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/system/System.cpp -------------------------------------------------------------------------------- /src/system/System.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/system/System.h -------------------------------------------------------------------------------- /src/transfer/AppRequest.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/transfer/AppRequest.h -------------------------------------------------------------------------------- /src/transfer/AppResponse.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/transfer/AppResponse.h -------------------------------------------------------------------------------- /src/transfer/FileIncoming.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/transfer/FileIncoming.cpp -------------------------------------------------------------------------------- /src/transfer/FileIncoming.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/transfer/FileIncoming.h -------------------------------------------------------------------------------- /src/transfer/HttpStatusCode.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/transfer/HttpStatusCode.h -------------------------------------------------------------------------------- /src/transfer/ProtocolVariant.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/transfer/ProtocolVariant.h -------------------------------------------------------------------------------- /src/transfer/http2/HPack.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/transfer/http2/HPack.cpp -------------------------------------------------------------------------------- /src/transfer/http2/HPack.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/transfer/http2/HPack.h -------------------------------------------------------------------------------- /src/transfer/http2/Http2.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/transfer/http2/Http2.cpp -------------------------------------------------------------------------------- /src/transfer/http2/Http2.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/transfer/http2/Http2.h -------------------------------------------------------------------------------- /src/utils/Event.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/utils/Event.cpp -------------------------------------------------------------------------------- /src/utils/Event.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/utils/Event.h -------------------------------------------------------------------------------- /src/utils/Utils.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/utils/Utils.cpp -------------------------------------------------------------------------------- /src/utils/Utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awwit/httpserver/HEAD/src/utils/Utils.h --------------------------------------------------------------------------------