Skip to content

Commit 2d4f804

Browse files
Merge pull request #1723 from recepgunes1/fix/timeout-flag-not-working
Fix/timeout flag not working
2 parents a740540 + 3286f09 commit 2d4f804

File tree

3 files changed

+7
-2
lines changed

3 files changed

+7
-2
lines changed

pkg/subscraping/agent.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ func NewSession(domain string, proxy string, multiRateLimiter *ratelimit.MultiLi
4646
Timeout: time.Duration(timeout) * time.Second,
4747
}
4848

49-
session := &Session{Client: client}
49+
session := &Session{Client: client, Timeout: timeout}
5050

5151
// Initiate rate limit instance
5252
session.MultiRateLimiter = multiRateLimiter

pkg/subscraping/sources/crtsh/crtsh.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,10 @@ func (s *Source) Run(ctx context.Context, domain string, session *subscraping.Se
5656
}
5757

5858
func (s *Source) getSubdomainsFromSQL(ctx context.Context, domain string, session *subscraping.Session, results chan subscraping.Result) int {
59-
db, err := sql.Open("postgres", "host=crt.sh user=guest dbname=certwatch sslmode=disable binary_parameters=yes")
59+
// connect_timeout: limits connection establishment time (in seconds)
60+
// statement_timeout: limits query execution time (in milliseconds)
61+
connStr := fmt.Sprintf("host=crt.sh user=guest dbname=certwatch sslmode=disable binary_parameters=yes connect_timeout=%d statement_timeout=%d", session.Timeout, session.Timeout*1000)
62+
db, err := sql.Open("postgres", connStr)
6063
if err != nil {
6164
results <- subscraping.Result{Source: s.Name(), Type: subscraping.Error, Error: err}
6265
s.errors++

pkg/subscraping/types.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,8 @@ type Session struct {
8989
Client *http.Client
9090
// Rate limit instance
9191
MultiRateLimiter *ratelimit.MultiLimiter
92+
// Timeout is the timeout in seconds for requests
93+
Timeout int
9294
}
9395

9496
// Result is a result structure returned by a source

0 commit comments

Comments
 (0)