Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BitbucketProvider ¶
type BitbucketProvider struct {
}
BitbucketProvider implements the Provider interface for Bitbucket
func NewBitbucketProvider ¶
func NewBitbucketProvider() *BitbucketProvider
NewBitbucketProvider creates a new Bitbucket provider
func (*BitbucketProvider) ParseWebhookPayload ¶
func (p *BitbucketProvider) ParseWebhookPayload(payload []byte) (*WebhookEvent, error)
ParseWebhookPayload parses Bitbucket webhook payload
func (*BitbucketProvider) ValidateWebhookPayload ¶
func (p *BitbucketProvider) ValidateWebhookPayload(payload []byte, signature, secret string) error
ValidateWebhookPayload validates the Bitbucket webhook HMAC-SHA256 signature. Bitbucket signs webhooks with the configured secret and sends the digest in the X-Hub-Signature header as "sha256=<hex>". Validation fails closed: a missing secret or a missing/invalid signature is rejected.
type GitHubProvider ¶
type GitHubProvider struct {
}
GitHubProvider implements the Provider interface for GitHub
func NewGitHubProvider ¶
func NewGitHubProvider() *GitHubProvider
NewGitHubProvider creates a new GitHub provider
func (*GitHubProvider) ParseWebhookPayload ¶
func (p *GitHubProvider) ParseWebhookPayload(payload []byte) (*WebhookEvent, error)
ParseWebhookPayload parses GitHub webhook payload
func (*GitHubProvider) ValidateWebhookPayload ¶
func (p *GitHubProvider) ValidateWebhookPayload(payload []byte, signature, secret string) error
ValidateWebhookPayload validates the GitHub webhook HMAC-SHA256 signature. GitHub sends the digest in the X-Hub-Signature-256 header as "sha256=<hex>".
type GitLabProvider ¶
type GitLabProvider struct {
}
GitLabProvider implements the Provider interface for GitLab
func NewGitLabProvider ¶
func NewGitLabProvider() *GitLabProvider
NewGitLabProvider creates a new GitLab provider
func (*GitLabProvider) ParseWebhookPayload ¶
func (p *GitLabProvider) ParseWebhookPayload(payload []byte) (*WebhookEvent, error)
ParseWebhookPayload parses GitLab webhook payload
func (*GitLabProvider) ValidateWebhookPayload ¶
func (p *GitLabProvider) ValidateWebhookPayload(payload []byte, token, secret string) error
ValidateWebhookPayload validates the GitLab webhook token
type Provider ¶
type Provider interface {
// ValidateWebhookPayload validates the webhook payload signature
ValidateWebhookPayload(payload []byte, signature, secret string) error
// ParseWebhookPayload parses the webhook payload and extracts relevant information
ParseWebhookPayload(payload []byte) (*WebhookEvent, error)
}
Provider defines the interface for git provider operations
func GetProvider ¶
func GetProvider(providerType ProviderType) (Provider, error)
GetProvider returns a git provider instance based on the type
type ProviderType ¶
type ProviderType string
ProviderType represents the git provider type
const ( ProviderGitHub ProviderType = "github" ProviderGitLab ProviderType = "gitlab" ProviderBitbucket ProviderType = "bitbucket" )