Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a simple HTTP client #22

Open
droidmonkey opened this issue Nov 1, 2017 · 4 comments
Open

Create a simple HTTP client #22

droidmonkey opened this issue Nov 1, 2017 · 4 comments

Comments

@droidmonkey
Copy link

droidmonkey commented Nov 1, 2017

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 droidmonkey changed the title Create a simple client Create a simple HTTP client Nov 1, 2017
@droidmonkey
Copy link
Author

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
Copy link
Member

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
Copy link
Author

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
Copy link
Member

Awesome, that sounds great.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants