2024-01-10 18:23:02 +03:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"vultras.su/core/bond"
|
2024-01-10 22:42:50 +03:00
|
|
|
//"vultras.su/core/bond/methods"
|
|
|
|
"vultras.su/core/bond/statuses"
|
2024-01-10 18:23:02 +03:00
|
|
|
"fmt"
|
|
|
|
"io"
|
|
|
|
"net/url"
|
2024-01-10 23:42:39 +03:00
|
|
|
"encoding/json"
|
2024-01-10 18:23:02 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
type GetNotesOptions struct {
|
|
|
|
Id int `json:"id"`
|
|
|
|
Name string `json:"name"`
|
|
|
|
}
|
|
|
|
|
2024-01-10 20:11:02 +03:00
|
|
|
var root = bond.Root(bond.Path().
|
2024-01-10 22:42:50 +03:00
|
|
|
Def(
|
2024-01-10 18:23:02 +03:00
|
|
|
"hook",
|
|
|
|
/*bond.Method().Def(
|
|
|
|
methods.Post,*/
|
|
|
|
bond.Func(func(c *bond.Context){
|
2024-01-10 22:42:50 +03:00
|
|
|
fmt.Printf("Content-Type: %q\n", c.ContentType())
|
2024-01-10 18:23:02 +03:00
|
|
|
body, err := io.ReadAll(c.R.Body)
|
|
|
|
if err != nil {
|
|
|
|
fmt.Printf("err:%s\n", err)
|
|
|
|
return
|
|
|
|
}
|
2024-01-10 22:42:50 +03:00
|
|
|
fmt.Printf("rawBody: %q\n", body)
|
|
|
|
unesc, err := url.QueryUnescape(string(body))
|
|
|
|
if err != nil {
|
|
|
|
fmt.Printf("err:%s\n", err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
fmt.Printf("unescapeBody: %q\n", unesc)
|
2024-01-10 23:42:39 +03:00
|
|
|
mp := map[string] any{}
|
|
|
|
err = bond.ParseStr(unesc, mp)
|
2024-01-10 18:23:02 +03:00
|
|
|
if err != nil {
|
|
|
|
fmt.Printf("err:%s\n", err)
|
|
|
|
return
|
|
|
|
}
|
2024-01-10 23:42:39 +03:00
|
|
|
js, err := json.MarshalIndent(mp, "", "\t")
|
|
|
|
if err != nil {
|
|
|
|
fmt.Printf("err:%s\n", err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
fmt.Printf("\nparsed: %v\n", string(js))
|
2024-01-10 22:42:50 +03:00
|
|
|
c.SetStatus(statuses.OK)
|
2024-01-10 18:23:02 +03:00
|
|
|
}),
|
|
|
|
//),
|
2024-01-10 20:11:02 +03:00
|
|
|
))
|
2024-01-10 18:23:02 +03:00
|
|
|
|
|
|
|
func main() {
|
|
|
|
srv := bond.Server{
|
|
|
|
Addr: ":15080",
|
|
|
|
Handler: root,
|
|
|
|
}
|
|
|
|
err := srv.ListenAndServe()
|
|
|
|
if err != nil {
|
|
|
|
panic(err)
|
|
|
|
}
|
|
|
|
}
|