-
Notifications
You must be signed in to change notification settings - Fork 5
Description
Things to consider
Below are things I believe would make library more useful.
-
go-jmap should avoid enforcing certain storage design and definitely must not provide storage implementation itself. I think it is best to simply translate API requests into corresponding method calls on some interface called "Backend" (see go-imap for a good example of how this could be done).
-
go-jmap should avoid enforcing certain authentication design and definitely must not provide authentication implementation itself. As with previous point, authentication should be implemented by calling out into user-provided interface implementation.
-
go-jmap should rely only on net/http for HTTP server. Use of more advanced frameworks will make it easier to violate the first point.
-
JMAP Core, JMAP Mail, etc implementations should be kept independent of each other for extensibility purposes. JMAP is not only about email.