feat(post): returns a promise with an error method
feat(): call once if the number of attempt is 1
feat(post): should retry to connect till fail or max number of attemps
feat(post): retry till succeed or till max number of attempts