Hello, SocialHub!
I had an idea for an open source tool, and figured it was worth having a discussion to see if it’s really something people want, or if there’s a better option for the task.
Essentially, my idea would be to write a small standalone HTTP server in Java, probably called ap_proxy
. ap_proxy
wouldc ontain a complete, spec-compliant implementation of both the client-to-server and server-to-server protocols.
Like nginx
, ap_proxy
would read configuration files in a simple language, and use it to determine how to handle user/federated actions.
A contrived example, that reverse proxies to your server, might look like:
#!/usr/bin/env java org.ap_proxy.Main
on Create {
when Like {
forward_to http://localhost:3000;
}
}
The DSL would be pretty simplistic, as the main use case would be proxying over some underlying server.
Pros:
- Would guarantee your server to be spec compliant; many S2S implementations of AP today are partial/incomplete
- Would normalize all data into its most verbose forms, so users of statically-typed languages could now handle AP with ease
- Most importantly - you don’t have to implement AP yourself, which saves time, AND encourages more fed services to support AP as well
Cons:
- Overhead of running an additional server
- Requires learning the DSL (although simple)
- Introduces new complexity during development/testing
So, what does everyone think? Would this be a worthwhile use of time? I know that I would use it, but is it something that would truly have a positive impact for many people?
Thanks.