Simplified request library with promises