Mailing List Archive

[MythTV/mythtv] c26ad8: Initial commit of new HTTP and Websocket code
Branch: refs/heads/devel/http
Home: https://github.com/MythTV/mythtv
Commit: c26ad87bedc7c30194c515e7b4588a448d223308
https://github.com/MythTV/mythtv/commit/c26ad87bedc7c30194c515e7b4588a448d223308
Author: Mark Kendall <mark.kendall@gmail.com>
Date: 2021-01-20 (Wed, 20 Jan 2021)

Changed paths:
A mythtv/libs/libmythbase/http/mythhttpcache.cpp
A mythtv/libs/libmythbase/http/mythhttpcache.h
A mythtv/libs/libmythbase/http/mythhttpcommon.cpp
A mythtv/libs/libmythbase/http/mythhttpcommon.h
A mythtv/libs/libmythbase/http/mythhttpdata.cpp
A mythtv/libs/libmythbase/http/mythhttpdata.h
A mythtv/libs/libmythbase/http/mythhttpencoding.cpp
A mythtv/libs/libmythbase/http/mythhttpencoding.h
A mythtv/libs/libmythbase/http/mythhttpfile.cpp
A mythtv/libs/libmythbase/http/mythhttpfile.h
A mythtv/libs/libmythbase/http/mythhttpinstance.cpp
A mythtv/libs/libmythbase/http/mythhttpinstance.h
A mythtv/libs/libmythbase/http/mythhttpmetamethod.cpp
A mythtv/libs/libmythbase/http/mythhttpmetamethod.h
A mythtv/libs/libmythbase/http/mythhttpmetaservice.cpp
A mythtv/libs/libmythbase/http/mythhttpmetaservice.h
A mythtv/libs/libmythbase/http/mythhttpparser.cpp
A mythtv/libs/libmythbase/http/mythhttpparser.h
A mythtv/libs/libmythbase/http/mythhttpranges.cpp
A mythtv/libs/libmythbase/http/mythhttpranges.h
A mythtv/libs/libmythbase/http/mythhttprequest.cpp
A mythtv/libs/libmythbase/http/mythhttprequest.h
A mythtv/libs/libmythbase/http/mythhttpresponse.cpp
A mythtv/libs/libmythbase/http/mythhttpresponse.h
A mythtv/libs/libmythbase/http/mythhttproot.cpp
A mythtv/libs/libmythbase/http/mythhttproot.h
A mythtv/libs/libmythbase/http/mythhttps.cpp
A mythtv/libs/libmythbase/http/mythhttps.h
A mythtv/libs/libmythbase/http/mythhttpserver.cpp
A mythtv/libs/libmythbase/http/mythhttpserver.h
A mythtv/libs/libmythbase/http/mythhttpserverinstance.cpp
A mythtv/libs/libmythbase/http/mythhttpserverinstance.h
A mythtv/libs/libmythbase/http/mythhttpservice.cpp
A mythtv/libs/libmythbase/http/mythhttpservice.h
A mythtv/libs/libmythbase/http/mythhttpservices.cpp
A mythtv/libs/libmythbase/http/mythhttpservices.h
A mythtv/libs/libmythbase/http/mythhttpsocket.cpp
A mythtv/libs/libmythbase/http/mythhttpsocket.h
A mythtv/libs/libmythbase/http/mythhttpthread.cpp
A mythtv/libs/libmythbase/http/mythhttpthread.h
A mythtv/libs/libmythbase/http/mythhttpthreadpool.cpp
A mythtv/libs/libmythbase/http/mythhttpthreadpool.h
A mythtv/libs/libmythbase/http/mythhttptypes.h
A mythtv/libs/libmythbase/http/mythmimedatabase.cpp
A mythtv/libs/libmythbase/http/mythmimedatabase.h
A mythtv/libs/libmythbase/http/mythmimetype.cpp
A mythtv/libs/libmythbase/http/mythmimetype.h
A mythtv/libs/libmythbase/http/mythwebsocket.cpp
A mythtv/libs/libmythbase/http/mythwebsocket.h
A mythtv/libs/libmythbase/http/mythwebsockettypes.cpp
A mythtv/libs/libmythbase/http/mythwebsockettypes.h
A mythtv/libs/libmythbase/http/mythwsdl.cpp
A mythtv/libs/libmythbase/http/mythwsdl.h
A mythtv/libs/libmythbase/http/mythxsd.cpp
A mythtv/libs/libmythbase/http/mythxsd.h
A mythtv/libs/libmythbase/http/serialisers/mythcborserialiser.cpp
A mythtv/libs/libmythbase/http/serialisers/mythcborserialiser.h
A mythtv/libs/libmythbase/http/serialisers/mythjsonserialiser.cpp
A mythtv/libs/libmythbase/http/serialisers/mythjsonserialiser.h
A mythtv/libs/libmythbase/http/serialisers/mythserialiser.cpp
A mythtv/libs/libmythbase/http/serialisers/mythserialiser.h
A mythtv/libs/libmythbase/http/serialisers/mythxmlplistserialiser.cpp
A mythtv/libs/libmythbase/http/serialisers/mythxmlplistserialiser.h
A mythtv/libs/libmythbase/http/serialisers/mythxmlserialiser.cpp
A mythtv/libs/libmythbase/http/serialisers/mythxmlserialiser.h
M mythtv/libs/libmythbase/libmythbase.pro

Log Message:
-----------
Initial commit of new HTTP and Websocket code

Note: the following functionality is incomplete and/or missing:-
- authentication (easy enough)
- WSDL (started - but will take time a little effort to complete)
- actual handling of websocket functionality (i.e. remote procedure
calls)
- no existing service APIs are converted in this commit - and each will
be require an update
- no conversion of UPnP end points

- the principle aims here are to remove the dependency on QScript (which
is end of life), invert the dependency between HTTP and UPnP (i.e. UPnP
should require HTTP and not the other way around), extend functionality,
improve performance and memory footprint and ease maintenance.
- this is entirely standalone and can be run alongside the existing
server implementation (port settings are currently ignored and the
server will listen on 8081 and 8091 (SSL))
- the intention is that the new code behaves in exactly the same way as
the old code - with the exception of extending functionality.
- websocket handling is currently embedded and is fully compliant with
the autobahn test suite
- the server code is entirely lock free, event driven and thread safe -
but there will be instances where services require locking to process
requests


Commit: 0f8333b68c4a6f2997593daba68fffececedf1d9
https://github.com/MythTV/mythtv/commit/0f8333b68c4a6f2997593daba68fffececedf1d9
Author: Mark Kendall <mark.kendall@gmail.com>
Date: 2021-01-20 (Wed, 20 Jan 2021)

Changed paths:
M mythtv/html/html.pro
A mythtv/html/mythfrontend.html
M mythtv/programs/mythfrontend/main.cpp
M mythtv/programs/mythfrontend/mythfrontend.pro
A mythtv/programs/mythfrontend/services/mythfrontendservice.cpp
A mythtv/programs/mythfrontend/services/mythfrontendservice.h

Log Message:
-----------
HTTP/Mythfrontend: Convert frontend services to new HTTP code

- existing code is untouched
Note: this is more invasive than is absolutely required. I took the
opportunity to cleanup the frontend service code and mythfrontend.html
is purely a copy of the existing frontend_index.qsp to ensure the html
mime type is picked up correctly
- otherwise demonstrates setting up and starting the server instance


Compare: https://github.com/MythTV/mythtv/compare/63bd2103476e...0f8333b68c4a
_______________________________________________
mythtv-commits mailing list
mythtv-commits@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-commits