github

package
v0.0.0-...-d4ea3c3 Latest Latest
Warning

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

Go to latest
Published: Nov 11, 2025 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

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

Client wraps the GitHub API client with rate limiting and retries

func NewClient

func NewClient(token string, qps int, burst int, maxRetries int, baseDelayMs int, logger *zap.Logger) (*Client, error)

NewClient creates a new GitHub client with rate limiting

func (*Client) CheckRateLimit

func (c *Client) CheckRateLimit(ctx context.Context) (*github.RateLimits, *github.Response, error)

CheckRateLimit checks the current rate limit status

func (*Client) GetClient

func (c *Client) GetClient() *github.Client

GetClient returns the underlying GitHub client

func (*Client) RetryWithBackoff

func (c *Client) RetryWithBackoff(ctx context.Context, fn func() (*github.Response, error)) (*github.Response, error)

RetryWithBackoff executes a function with exponential backoff retry

func (*Client) WaitForRateLimit

func (c *Client) WaitForRateLimit(ctx context.Context) error

WaitForRateLimit waits for the rate limiter

Jump to

Keyboard shortcuts

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