Depends oauth, s3, etc have different signing practices.  Many need to read
the entire request.  Some include an md5 header of the body.

On Sunday, May 26, 2013, Jake Wharton wrote:

> In retrofit/src/main/java/retrofit/RequestInterceptor.java:
>
> > +package retrofit;
> > +
> > +/** Intercept every request before it is executed in order to add additional data. */
> > +public interface RequestInterceptor {
> > +  /** Called for every request. Add data using methods on the supplied {@link RequestFacade}. */
> > +  void intercept(RequestFacade request);
> > +
> > +  interface RequestFacade {
> > +    /** Add a header to the request. This will not replace any existing headers. */
> > +    void addHeader(String name, String value);
> > +
> > +    /**
> > +     * Add a path parameter replacement. This works exactly like a {@link retrofit.http.Part
> > +     * &#64;Part}-annotated method argument.
> > +     */
> > +    void addPathParam(String name, String value);
>
> What is the signature in that case? Does it require having access to the
> non-query URL or request body?
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/square/retrofit/pull/223/files#r4395521>
> .
>