TinySkin/handle/handle.go
thehrz 0b880bece8
All checks were successful
CI / deploy (push) Successful in 57s
pref: rename project
2025-01-24 17:12:15 +08:00

31 lines
558 B
Go

package handle
import (
"encoding/json"
"fmt"
"io"
"net/netip"
"tinyskin/model"
"github.com/google/wire"
"github.com/samber/lo"
)
var HandelSet = wire.NewSet(NewUserHandel, NewAdminHandel, NewHandel)
func encodeJson[T any](w io.Writer, m model.API[T]) {
json.NewEncoder(w).Encode(m)
}
func getPrefix(ip string) (string, error) {
ipa, err := netip.ParseAddr(ip)
if err != nil {
return "", fmt.Errorf("getPrefix: %w", err)
}
if ipa.Is6() {
return lo.Must1(ipa.Prefix(48)).String(), nil
}
return lo.Must1(ipa.Prefix(24)).String(), nil
}