Implement HTTP POST based RPC (#5840)

Added support for new RPC support using HTTP POST.  RPC's 
arguments and reply are Gob encoded and sent as HTTP 
request/response body.

This patch also removes Go RPC based implementation.
This commit is contained in:
Bala FA
2018-06-06 14:21:56 +05:30
committed by Nitish Tiwari
parent 9d41051e91
commit 6a53dd1701
59 changed files with 5272 additions and 4169 deletions

View File

@@ -34,27 +34,15 @@ func newCacheObjectsFn() CacheObjectLayer {
}
// Composed function registering routers for only distributed XL setup.
func registerDistXLRouters(router *mux.Router, endpoints EndpointList) error {
func registerDistXLRouters(router *mux.Router, endpoints EndpointList) {
// Register storage rpc router only if its a distributed setup.
err := registerStorageRPCRouters(router, endpoints)
if err != nil {
return err
}
registerStorageRPCRouters(router, endpoints)
// Register distributed namespace lock.
err = registerDistNSLockRouter(router, endpoints)
if err != nil {
return err
}
registerDistNSLockRouter(router)
// Register S3 peer communication router.
err = registerS3PeerRPCRouter(router)
if err != nil {
return err
}
// Register RPC router for web related calls.
return registerBrowserPeerRPCRouter(router)
registerPeerRPCRouter(router)
}
// List of some generic handlers which are applied for all incoming requests.
@@ -108,10 +96,7 @@ func configureServerHandler(endpoints EndpointList) (http.Handler, error) {
}
// Add Admin RPC router
err := registerAdminRPCRouter(router)
if err != nil {
return nil, err
}
registerAdminRPCRouter(router)
// Add Admin router.
registerAdminRouter(router)