Refactor existing API.request methods for better reusing
Refactor existing API.request methods for better reusing

artivilla/desktop,shiftkey/desktop,say25/desktop,desktop/desktop,j-f1/forked-desktop,desktop/desktop,j-f1/forked-desktop,j-f1/forked-desktop,desktop/desktop,say25/desktop,artivilla/desktop,say25/desktop,desktop/desktop,say25/desktop,j-f1/forked-desktop,artivilla/desktop,artivilla/desktop,shiftkey/desktop,shiftkey/desktop,shiftkey/desktop