@dhermes I've been thinking about `c.Request().(*http.Request)` [issue](https://github.com/crhym3/go-endpoints/issues/2#issuecomment-18984862) these days and it seems there might be some side advantages in keeping `endpoints.Context.HttpRequest()` method anyway.

Take any service method signature, e.g.:

```go
func (s *MyService) DoSomething(r *http.Request, req *DoReq, resp *DoResp) error {
  c := endpoints.NewContext(r)
  // do something, which most likely will need context c
}
```

Probably, in most cases one of the first lines of a method will be `c := endpoints.NewContext(r)`. So, I thought we could sort of reverse `r` and `c` by changing the signature to this:

```go
func (s *MyService) DoSomething(c *endpoints.Context, req *DoReq, resp *DoResp) error {
  // do something, which most likely will need context c
  // but there's no need for endpoints.NewContext(r) anymore
  // since it's already in the method args

  // really need original http.Request? no problem:
  r := c.HttpRequest()
  doSomethingWithRequest(r)
}
```

The change is really trivial, and we could "release" the whole thing with all issues fixed long before Wednesday :)

What do you think?