func (mg *MailgunImpl) GetRoutes(limit, skip int) (int, []Route, error) {
	r := newHTTPRequest(generatePublicApiUrl(mg, routesEndpoint))
	if limit != DefaultLimit {
		r.addParameter("limit", strconv.Itoa(limit))
	}
	if skip != DefaultSkip {
		r.addParameter("skip", strconv.Itoa(skip))
	}
	r.setClient(mg.Client())
	r.setBasicAuth(basicAuthUser, mg.ApiKey())
	var envelope struct {
		TotalCount int     `json:"total_count"`
		Items      []Route `json:"items"`
	}
	err := getResponseFromJSON(r, &envelope)
	if err != nil {
		fmt.Printf("err here\n")
		return -1, nil, err
	}
	return envelope.TotalCount, envelope.Items, nil
}
GetRoutes returns the complete set of routes configured for your domain.
You use routes to configure how to handle returned messages, or
messages sent to a specfic address on your domain.
See the Mailgun documentation for more information.
package mailgun
import (
	"fmt"
	"strconv"
)
type Route struct {
	Priority    int      `json:"priority,omitempty"`
	Description string   `json:"description,omitempty"`
	Expression  string   `json:"expression,omitempty"`
	Actions     []string `json:"actions,omitempty"`
	CreatedAt string `json:"created_at,omitempty"`
	ID        string `json:"id,omitempty"`
}