nitroshare / qhttpengine

HTTP server for Qt applications
MIT License
159 stars 76 forks source link

Create a simple HTTP client #22

Open droidmonkey opened 6 years ago

droidmonkey commented 6 years ago

It would be great to have a simple HTTP client that is the compliment to the Server. The client would take in a QUrl and create the QTcpSocket and QHttpEngine::Socket to communicate with the server. The client would also automatically handle SSL connections and redirects (with a default maximum).

I am integrating QHttpEngine into KeePassXC to meet Debian library requirements, but the lack of a simple Client module is making it difficult.

droidmonkey commented 6 years ago

Note: this will actually require modifying Socket such that it acts as a Request or Response Socket. Right now Socket only parses the Request headers as if it was acting for a Server.

nathan-osman commented 6 years ago

Yes, and I would probably consider splitting the class up at that point. There would be a base class Socket and two classes that derive from it, ServerSocket and ClientSocket. That way the common functionality could remain where it is and the parts of the protocol specific to each end would live in their respective classes.

droidmonkey commented 6 years ago

If you don't mind I'm going to open several minor issues and suggestions as I learn more about your code. I'd be willing to help fix them as well.

nathan-osman commented 6 years ago

Awesome, that sounds great.