whisperfish / libsignal-service-rs

A Rust version of the libsignal-service-java library for communicating with Signal servers.
https://whisperfish.github.io/libsignal-service-rs/libsignal_service
GNU Affero General Public License v3.0
69 stars 32 forks source link

Re-flatten crate structure and get rid of PushService trait #331

Closed gferon closed 1 month ago

gferon commented 1 month ago

Since the actix implementation is not used anymore, and makes changes to the HTTP layer harder, I'm suggesting this big refactoring. No logic has changed, and this is a pure copy-pasta from the contents of libsignal-service-hyper.

Among the benefits stand out:

This is a first step to refactor PushService and split the push_service.rs file in many smaller (and more readable) parts.

We can also start exposing different basic feature flags for toggling the TLS layer (maybe it is interesting to whisperfish to use OpenSSL?).

You can see the type of necessary changes downstream to whisperfish or presage (not that many) - https://github.com/whisperfish/presage/pull/272