Optimizing with hexa :P

This commit is contained in:
Richard Patel 2018-11-15 23:51:31 +01:00
parent ac0b8d2d0b
commit 084b3a5903
No known key found for this signature in database
GPG Key ID: C268B2BBDA2ABECB

View File

@ -39,7 +39,6 @@ func GetDir(j *Job, f *File) (links []fasturl.URL, err error) {
doc := html.NewTokenizer(bytes.NewReader(body))
var linkHref string
var linkTexts []string
for {
tokenType := doc.Next()
token := doc.Token()
@ -58,20 +57,13 @@ func GetDir(j *Job, f *File) (links []fasturl.URL, err error) {
}
}
case html.TextToken:
if linkHref != "" {
linkTexts = append(linkTexts, token.Data)
}
case html.EndTagToken:
if linkHref != "" && token.DataAtom == atom.A {
// Copy params
href := linkHref
linkText := strings.Join(linkTexts, " ")
// Reset params
linkHref = ""
linkTexts = nil
// TODO Optimized decision tree
if strings.LastIndexByte(href, '?') != -1 {
@ -83,11 +75,9 @@ func GetDir(j *Job, f *File) (links []fasturl.URL, err error) {
goto nextToken
}
}
for _, entry := range fileNameBlackList {
if strings.Contains(linkText, entry) {
if strings.Contains(href, "../") {
goto nextToken
}
}
var link fasturl.URL
err = j.Uri.ParseRel(&link, href)
@ -194,10 +184,3 @@ var urlBlackList = [...]string {
"..",
"/",
}
var fileNameBlackList = [...]string {
"Parent Directory",
" Parent Directory",
"../",
}