I am writing a library named "GoRequest" which wraps around net/http package and is meant for making an easy http client.
Now, I am having a problem with function conversion which has similar types as its parameters. Here is my problem snippet.
type Request *http.Request
type Response *http.Response
func (s *SuperAgent) RedirectPolicy(policy func(req Request, via []Request) error) *SuperAgent {
s.Client.CheckRedirect = policy
return s
}
s.Client.CheckRedirect is a member in http.Client struct and should receive func(req *http.Request, via []*http.Request) error
As you might see, I want to convert func(req Request, via []Request) error
--> func(req *http.Request, via []*http.Request)
which has similar types of parameters.
But it returns me an error:
./main.go:142: cannot use policy (type func(Request, []Request) error) as type func(*http.Request, []*http.Request) error in assignment
I cannot find any document for this kind of conversion and if it's possible, please suggest. If not, please suggest some other good way to do this. Thanks!