func (c Client) CreateAuthorization(ctx context.Context, req *CreateAuthorizationReq, opt ...requests.Option) (*CreateAuthorizationResponse, error) {
	return CreateAuthorization(ctx, req, append(c, opt...)...)
}
/*
CreateAuthorization performs requests for "oauth-authorizations/create-authorization"

Create a new authorization.

POST /authorizations

https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization

Non-nil errors will have the type *requests.RequestError, octo.ResponseError or url.Error.
package oauthauthorizations
import (
	"context"
	"fmt"
	components "github.com/willabides/octo-go/components"
	requests "github.com/willabides/octo-go/requests"
	"net/http"
	"net/url"
	"strconv"
)
func CreateAuthorization(ctx context.Context, req *CreateAuthorizationReq, opt ...requests.Option) (*CreateAuthorizationResponse, error) {
	opts := requests.BuildOptions(opt...)
	if req == nil {
		req = new(CreateAuthorizationReq)
	}
	resp := &CreateAuthorizationResponse{}
	httpReq, err := req.HTTPRequest(ctx, opt...)
	if err != nil {
		return nil, err
	}
	r, err := opts.HttpClient().Do(httpReq)
	if err != nil {
		return nil, err
	}
	err = resp.ReadResponse(r)
	if err != nil {
		return nil, err
	}
	return resp, nil
}