2020-12-29 15:38:14 +05:30
|
|
|
package colorizer
|
|
|
|
|
|
2021-07-12 17:20:01 +03:00
|
|
|
import (
|
2021-07-19 21:04:08 +03:00
|
|
|
"fmt"
|
|
|
|
|
|
2021-07-12 17:20:01 +03:00
|
|
|
"github.com/logrusorgru/aurora"
|
2021-09-03 16:48:39 +03:00
|
|
|
|
2023-10-17 17:44:13 +05:30
|
|
|
"github.com/projectdiscovery/nuclei/v3/pkg/model/types/severity"
|
2021-07-12 17:20:01 +03:00
|
|
|
)
|
2020-12-29 15:38:14 +05:30
|
|
|
|
|
|
|
|
const (
|
2021-02-26 13:13:11 +05:30
|
|
|
fgOrange uint8 = 208
|
2020-12-29 15:38:14 +05:30
|
|
|
)
|
|
|
|
|
|
2021-07-19 21:04:08 +03:00
|
|
|
func GetColor(colorizer aurora.Aurora, templateSeverity fmt.Stringer) string {
|
2021-07-12 17:20:01 +03:00
|
|
|
var method func(arg interface{}) aurora.Value
|
2021-07-16 17:28:13 +03:00
|
|
|
switch templateSeverity {
|
|
|
|
|
case severity.Info:
|
2021-07-12 17:20:01 +03:00
|
|
|
method = colorizer.Blue
|
2021-07-16 17:28:13 +03:00
|
|
|
case severity.Low:
|
2021-07-12 17:20:01 +03:00
|
|
|
method = colorizer.Green
|
2021-07-16 17:28:13 +03:00
|
|
|
case severity.Medium:
|
2021-07-12 17:20:01 +03:00
|
|
|
method = colorizer.Yellow
|
2021-07-16 17:28:13 +03:00
|
|
|
case severity.High:
|
2021-07-12 17:20:01 +03:00
|
|
|
method = func(stringValue interface{}) aurora.Value { return colorizer.Index(fgOrange, stringValue) }
|
2021-07-16 17:28:13 +03:00
|
|
|
case severity.Critical:
|
2021-07-12 17:20:01 +03:00
|
|
|
method = colorizer.Red
|
|
|
|
|
default:
|
|
|
|
|
method = colorizer.White
|
|
|
|
|
}
|
|
|
|
|
|
2021-07-16 17:28:13 +03:00
|
|
|
return method(templateSeverity.String()).String()
|
2021-07-12 17:20:01 +03:00
|
|
|
}
|
|
|
|
|
|
2021-07-19 21:04:08 +03:00
|
|
|
func New(colorizer aurora.Aurora) func(severity.Severity) string {
|
2021-07-16 17:28:13 +03:00
|
|
|
return func(severity severity.Severity) string {
|
2021-07-19 21:04:08 +03:00
|
|
|
return GetColor(colorizer, severity)
|
2020-12-29 15:38:14 +05:30
|
|
|
}
|
|
|
|
|
}
|