Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CookieResolver ¶
type CookieResolver struct {
// contains filtered or unexported fields
}
CookieResolver finds the first browser session whose dotcom_user matches a GitHub login.
func NewCookieResolver ¶
func NewCookieResolver( providers map[cookies.Browser]browserprovider.BrowserProvider, verbose bool, stderr io.Writer, ) *CookieResolver
func (*CookieResolver) Resolve ¶
func (r *CookieResolver) Resolve(ctx context.Context, host, ghLogin string, sources []cookies.Source) (ResolvedCookies, error)
Resolve expands "auto" sources and returns the first session matching ghLogin via dotcom_user.
type DownloadRequest ¶ added in v0.4.2
type LoginResolver ¶
LoginResolver resolves the login the upload acts as, used to pick the matching cookie container.
func NewConfigLoginResolver ¶
func NewConfigLoginResolver(api apiLoginResolver) LoginResolver
type RepositoryIDResolver ¶
type RepositoryIDResolver interface {
RepositoryID(refererPage *attachments.RefererPage, owner string, name string) (int64, error)
}
RepositoryIDResolver resolves the numeric repository_id the upload API needs.
func NewPageRepositoryIDResolver ¶
func NewPageRepositoryIDResolver(api apiRepositoryResolver) RepositoryIDResolver
type ResolvedCookies ¶
type ResolvedCookies struct {
Session browserprovider.BrowserSession
Source cookies.Source
ProviderName string
}
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service orchestrates GitHub user-attachment flows.
func NewService ¶
func (*Service) Download ¶ added in v0.4.2
func (s *Service) Download(ctx context.Context, req DownloadRequest) (io.ReadCloser, error)
type SessionResolver ¶
type SessionResolver struct {
// contains filtered or unexported fields
}
SessionResolver hides the login-then-cookie-match coupling behind a single "give me a session" call.
func NewSessionResolver ¶
func NewSessionResolver(logins LoginResolver, cookies *CookieResolver) *SessionResolver
func (*SessionResolver) Resolve ¶
func (s *SessionResolver) Resolve(ctx context.Context, host string, sources []cookies.Source) (ResolvedCookies, error)
Click to show internal directories.
Click to hide internal directories.