func (g *GitHub) GetContent(repo, path string) (*File, interface{}, error) {
	file, dir, resp, err := g.client.Repositories.GetContents(context.TODO(), g.org, repo, path, nil)
	if err != nil {
		if resp != nil {
			switch resp.StatusCode {
			case http.StatusNotFound:
				return nil, nil, nil
			case http.StatusUnauthorized:
				return nil, nil, fmt.Errorf(invalidGitHubToken, g.org)
			}
		}
		return nil, nil, fmt.Errorf("Error retrieving file %s: %v", path, err)
	}
	if dir != nil {
		return nil, dir, nil
	}
	conf, err := file.GetContent()
	if err != nil {
		return nil, nil, fmt.Errorf("Error decoding file %s: %v", path, err)
	}
	f := &File{
		Content: conf,
		SHA:     *file.SHA,
	}
	return f, nil, nil
}
GetContent implements the Git interface
package git
import (
	"bytes"
	"context"
	"fmt"
	"net/http"
	"net/url"
	"strings"
	"time"
	"github.com/google/go-github/github"
)
const (
	invalidGitHubToken = "The token configured for GitHub organization %s is not valid!"
)