add support for custom Transport
fix ioutil.ReadAll error checks
add example for custom transport