Skip to content

Commit

Permalink
Added functionality to support connection with BasicAuth
Browse files Browse the repository at this point in the history
  • Loading branch information
SEILLER Brendan committed Apr 12, 2021
1 parent 68eef24 commit a4b3c18
Showing 1 changed file with 16 additions and 4 deletions.
20 changes: 16 additions & 4 deletions parser.go
Expand Up @@ -36,19 +36,26 @@ type Parser struct {
RSSTranslator Translator
JSONTranslator Translator
UserAgent string
AuthConfig *Auth
Client *http.Client
rp *rss.Parser
ap *atom.Parser
jp *json.Parser
}

type Auth struct {
Username string
Password string
}

// NewParser creates a universal feed parser.
func NewParser() *Parser {
fp := Parser{
rp: &rss.Parser{},
ap: &atom.Parser{},
jp: &json.Parser{},
UserAgent: "Gofeed/1.0",
rp: &rss.Parser{},
ap: &atom.Parser{},
jp: &json.Parser{},
UserAgent: "Gofeed/1.0",
AuthConfig: &Auth{},
}
return &fp
}
Expand Down Expand Up @@ -100,6 +107,11 @@ func (f *Parser) ParseURLWithContext(feedURL string, ctx context.Context) (feed
}
req = req.WithContext(ctx)
req.Header.Set("User-Agent", f.UserAgent)

if f.AuthConfig != nil {
req.SetBasicAuth(f.AuthConfig.Username, f.AuthConfig.Password)
}

resp, err := client.Do(req)

if err != nil {
Expand Down

0 comments on commit a4b3c18

Please sign in to comment.