init
This commit is contained in:
67
leak-utils/misc/ulp.go
Normal file
67
leak-utils/misc/ulp.go
Normal file
@@ -0,0 +1,67 @@
|
||||
package misc
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"io"
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
"github.com/anotherhadi/eleakxir/leak-utils/settings"
|
||||
)
|
||||
|
||||
func RemoveUrlSchemeFromUlp(lu settings.LeakUtils, inputFile string) error {
|
||||
file, err := os.Open(inputFile)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
outputFile := inputFile + ".clean"
|
||||
out, err := os.Create(outputFile)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer out.Close()
|
||||
|
||||
reader := bufio.NewReader(file)
|
||||
writer := bufio.NewWriter(out)
|
||||
|
||||
for {
|
||||
line, err := reader.ReadString('\n')
|
||||
if err != nil && err != io.EOF {
|
||||
return err
|
||||
}
|
||||
|
||||
firstColumn := strings.Index(line, ":")
|
||||
firstScheme := strings.Index(line, "://")
|
||||
if firstScheme != -1 && firstColumn == firstScheme {
|
||||
line = line[firstScheme+3:]
|
||||
}
|
||||
|
||||
_, werr := writer.WriteString(line)
|
||||
if werr != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err == io.EOF {
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
err = writer.Flush()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = os.Remove(inputFile)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = os.Rename(outputFile, inputFile)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user