Documentation
¶
Overview ¶
Package github provides a client for the GitHub Contents API. It fetches file contents and directory listings from repositories.
Index ¶
- type Client
- func (c *Client) FetchDir(ctx context.Context, owner, repo, ref, path string) ([]ContentEntry, error)
- func (c *Client) FetchDirRecursive(ctx context.Context, owner, repo, ref, root string) ([]ContentEntry, error)
- func (c *Client) FetchFile(ctx context.Context, owner, repo, ref, path string) (string, error)
- type ContentEntry
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
BaseURL string // defaults to "https://api.github.com"
Token string // optional bearer token
HTTPClient *http.Client // optional; falls back to http.DefaultClient
}
Client accesses the GitHub Contents API.
func (*Client) FetchDir ¶
func (c *Client) FetchDir(ctx context.Context, owner, repo, ref, path string) ([]ContentEntry, error)
FetchDir lists the contents of a directory in a GitHub repository.
func (*Client) FetchDirRecursive ¶ added in v1.1.0
func (c *Client) FetchDirRecursive(ctx context.Context, owner, repo, ref, root string) ([]ContentEntry, error)
FetchDirRecursive lists all files under root recursively using BFS. Directories are not included in the results. The initial call to root propagates errors; errors on individual subdirectories are silently skipped. Pass root="" to start from the repository root.
type ContentEntry ¶
type ContentEntry struct {
Name string `json:"name"`
Path string `json:"path"`
Type string `json:"type"` // "file" or "dir"
}
ContentEntry represents a file or directory in a GitHub repository listing.
Click to show internal directories.
Click to hide internal directories.