gosora/cmd/hook_stub_gen/main.go

42 lines
1.0 KiB
Go
Raw Normal View History

2020-05-23 22:24:23 +00:00
package main // import "github.com/Azareal/Gosora/hook_stub_gen"
import (
"fmt"
"log"
"strings"
"runtime/debug"
2020-05-23 23:16:17 +00:00
h "github.com/Azareal/Gosora/cmd/common_hook_gen"
2020-05-23 22:24:23 +00:00
)
// TODO: Make sure all the errors in this file propagate upwards properly
func main() {
// Capture panics instead of closing the window at a superhuman speed before the user can read the message on Windows
defer func() {
if r := recover(); r != nil {
fmt.Println(r)
debug.PrintStack()
return
}
}()
imports := []string{"net/http"}
2020-05-23 23:16:17 +00:00
hookVars := h.HookVars{imports,nil}
2020-05-23 22:24:23 +00:00
add := func(name, params, ret, htype string) {
var params2 string
first := true
for _, param := range strings.Split(params,",") {
if !first {
params2 += ","
}
pspl := strings.Split(strings.ReplaceAll(strings.TrimSpace(param)," "," ")," ")
params2 += pspl[0]
first = false
}
2020-05-23 23:16:17 +00:00
hookVars.Hooks = append(hookVars.Hooks, h.Hook{name, params, params2, ret, htype, true})
2020-05-23 22:24:23 +00:00
}
2020-05-23 23:16:17 +00:00
h.AddHooks(add)
h.Write(hookVars)
2020-05-23 22:24:23 +00:00
log.Println("Successfully generated the hooks")
}