func MakeAPIReq(req ApiRequest) (*ApiResponse, error) {
	if req.Values.Get(`token`) == `` {
		req.Values.Set(`token`, req.Broker.Config.Token)
	}
	if req.Values.Get(`as_user`) == `` {
		req.Values.Set(`as_user`, req.Broker.Config.Name)
	}
	resp := new(ApiResponse)
	reply, err := http.PostForm(req.URL, req.Values)
	if err != nil {
		return resp, err
	}
	defer reply.Body.Close()
	dec := json.NewDecoder(reply.Body)
	err = dec.Decode(resp)
	if err != nil {
		return resp, fmt.Errorf("Couldn't decode json. ERR: %v", err)
	}
	return resp, nil
}
MakeAPIReq takes an ApiRequest, adds auth if necessary and POSTs it to
the slack web-api.
package lib
import (
	"encoding/json"
	"fmt"
	"github.com/fatih/structs"
	"github.com/gorilla/websocket"
	"net/http"
	"net/url"
	"strconv"
	"strings"
)
type ApiRequest struct {
	URL    string
	Values url.Values
	Broker *Broker
}