Yes, it makes sense to change to logic to only automatically redirect for `301`, `302` from `GET/HEAD`, `303` from `GET/HEAD` and `307` from `GET/HEAD` . I'm not sure how we should handle non `GET` `301` and `302`.

Having a quick search at how other HTTP clients tackle this: Apache HTTPClient seems NOT to follow non-GET `302` and `301` by default but allow users to drop in their own logic by implementing their own [`RedirectStrategy`](http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/impl/client/DefaultRedirectStrategy.html). We could do the same and have a `trait` which gives users the opportunity to make their own decision e.g. a decisions based on confirming with whoever their user is:

    trait RedirectStrategy {
        def shouldRedirect(r: HttpRequest, r: HttpResponse): Boolean
    }