github

package
v0.4.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 31, 2020 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNoToken         = errors.New("github: no token available")
	ErrTokenReachLimit = errors.New("github: token reaches the limit")
	ErrTokenUsing      = errors.New("github: token is using")
)
View Source
var (
	DefaultHost = pkgdata.GithubHost
)

Github settings.

View Source
var (
	ErrNotSupport = errors.New("github: repo not support")
)

Errors.

Functions

func AddToken

func AddToken(tokens []string)

func SetToken

func SetToken(tokens []string)

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

func (*Client) Do

func (c *Client) Do(req *http.Request) (*http.Response, error)

func (*Client) GetRepository

func (c *Client) GetRepository(owner, repo string) (*RepositoryResponse, error)

type CountResponse

type CountResponse struct {
	TotalCount int64 `json:"totalCount"`
}

type FundingLinkResponse

type FundingLinkResponse struct {
	Platform string `json:"platform"`
	URL      string `json:"url"`
}

type LicenseInfo

type LicenseInfo struct {
	Name string `json:"name"`
	Key  string `json:"key"`
}

type PrimaryLanguage

type PrimaryLanguage struct {
	Name  string `json:"name"`
	Color string `json:"color"`
}

type Provider

type Provider struct {
	// contains filtered or unexported fields
}

func NewProvider

func NewProvider() (*Provider, error)

func NewProviderWithTokens

func NewProviderWithTokens(tokens *TokenStore) (*Provider, error)

func (*Provider) Open

func (p *Provider) Open(rawurl string) (provider.Repo, error)

func (*Provider) Parse

func (p *Provider) Parse(uri string) (provider.Repo, error)

func (*Provider) Ping

func (p *Provider) Ping(rawurl string) error

func (*Provider) ProviderName

func (p *Provider) ProviderName() string

type Repo

type Repo struct {
	// contains filtered or unexported fields
}

func (*Repo) Analyze

func (r *Repo) Analyze() (provider.Report, error)

func (*Repo) Close

func (r *Repo) Close() error

func (*Repo) Derived

func (r *Repo) Derived() ([]string, error)

type Report

type Report struct {
	*pkguri.PkgURI
	// contains filtered or unexported fields
}

func (*Report) Close

func (r *Report) Close() error

func (*Report) Next

func (r *Report) Next() bool

func (*Report) Pkg added in v0.4.1

func (r *Report) Pkg() (*model.Pkg, error)

func (*Report) Stats

func (r *Report) Stats() ([]*model.Stat, error)

func (*Report) Tag

func (r *Report) Tag() (*model.Stat, error)

func (*Report) URI

func (r *Report) URI() (*pkguri.PkgURI, error)

type RepositoryResponse

type RepositoryResponse struct {
	ForkCount       int64                  `json:"forkCount"`
	HomepageUrl     string                 `json:"homepageUrl"`
	IsArchived      bool                   `json:"isArchived"`
	IsDisabled      bool                   `json:"isDisabled"`
	IsMirror        bool                   `json:"isMirror"`
	UpdatedAt       string                 `json:"updatedAt"`
	Stargazers      *CountResponse         `json:"stargazers"`
	Watchers        *CountResponse         `json:"watchers"`
	Issues          *CountResponse         `json:"issues"`
	PullRequests    *CountResponse         `json:"pullRequests"`
	PrimaryLanguage *PrimaryLanguage       `json:"primaryLanguage"`
	LicenseInfo     *LicenseInfo           `json:"licenseInfo"`
	FundingLinks    []*FundingLinkResponse `json:"fundingLinks"`
}

type TokenInfo

type TokenInfo struct {
	*sync.Mutex
	// contains filtered or unexported fields
}

func GetToken

func GetToken() (*TokenInfo, error)

func NewTokenInfo

func NewTokenInfo(token string) *TokenInfo

func (*TokenInfo) Lock

func (t *TokenInfo) Lock()

func (*TokenInfo) Unlock

func (t *TokenInfo) Unlock()

func (*TokenInfo) UpdateFromHeader

func (t *TokenInfo) UpdateFromHeader(header http.Header) error

func (*TokenInfo) Valid

func (t *TokenInfo) Valid() error

type TokenStore

type TokenStore struct {
	// contains filtered or unexported fields
}

func NewTokenStore

func NewTokenStore(tokens []string) *TokenStore

func (*TokenStore) Add

func (t *TokenStore) Add(tokens []string)

func (*TokenStore) Get

func (t *TokenStore) Get() (*TokenInfo, error)

func (*TokenStore) Set

func (t *TokenStore) Set(tokens []string)

type Transport

type Transport struct {
	// contains filtered or unexported fields
}

func (*Transport) RoundTrip

func (t *Transport) RoundTrip(req *http.Request) (*http.Response, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL