-
Notifications
You must be signed in to change notification settings - Fork 2
/
display.go
59 lines (53 loc) · 1.26 KB
/
display.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package subtocheck
import "fmt"
type processedIssues struct {
potVulns []issue
DNS []issue
request []issue
}
func getIssuesSummary(issues issues) (pIssues processedIssues) {
for _, issue := range issues {
switch issue.kind {
case "request":
pIssues.request = append(pIssues.request, issue)
case "dns":
pIssues.DNS = append(pIssues.DNS, issue)
case "vuln":
pIssues.potVulns = append(pIssues.potVulns, issue)
}
}
return
}
func displayIssues(pIssues processedIssues) {
var txtNoIssuesFound = "none found"
fmt.Printf("\nRequest issues\n--------------\n")
if len(pIssues.request) > 0 {
for _, issue := range pIssues.request {
if issue.kind == "request" {
fmt.Printf("%v\n", issue.err)
}
}
} else {
fmt.Println(txtNoIssuesFound)
}
fmt.Printf("\nDNS issues\n----------\n")
if len(pIssues.DNS) > 0 {
for _, issue := range pIssues.DNS {
if issue.kind == "dns" {
fmt.Printf("%v\n", issue.err)
}
}
} else {
fmt.Println(txtNoIssuesFound)
}
fmt.Printf("\nPotential vulnerabilities\n-------------------------\n")
if len(pIssues.potVulns) > 0 {
for _, issue := range pIssues.potVulns {
if issue.kind == "vuln" {
fmt.Printf("%s %v\n", issue.url, issue.err)
}
}
} else {
fmt.Println(txtNoIssuesFound)
}
}