func NewNotification(httpClient *http.Client, scheme, host, path string) notification.Service {
	if !strings.HasSuffix(path, "/") {
		path += "/"
	}
	return &notificationClient{
		client: httpClient,
		baseURL: &url.URL{
			Scheme: scheme,
			Host:   host,
			Path:   path,
		},
	}
}
NewNotification creates a client that implements notification.Service remotely over HTTP.
If a nil httpClient is provided, http.DefaultClient will be used.
scheme and host can be empty strings to target local service.
A trailing "/" is added to path if there isn't one.
package httpclient
import (
	"context"
	"encoding/json"
	"errors"
	"fmt"
	"io/ioutil"
	"log"
	"net/http"
	"net/url"
	"strconv"
	"strings"
	"github.com/shurcooL/home/internal/exp/service/notification"
	"github.com/shurcooL/home/internal/exp/service/notification/httproute"
	"github.com/shurcooL/users"
	"golang.org/x/net/context/ctxhttp"
)