1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- package main
- import (
- "flag"
- "io"
- "net/http"
- "zero/core/logx"
- "zero/core/service"
- "zero/rest"
- "zero/rest/httpx"
- )
- var keyPem = flag.String("prikey", "private.pem", "the private key file")
- type Request struct {
- User string `form:"user,optional"`
- }
- func handle(w http.ResponseWriter, r *http.Request) {
- var req Request
- err := httpx.Parse(r, &req)
- if err != nil {
- http.Error(w, err.Error(), http.StatusBadRequest)
- return
- }
- io.Copy(w, r.Body)
- }
- func main() {
- flag.Parse()
- engine := rest.MustNewServer(rest.RestConf{
- ServiceConf: service.ServiceConf{
- Log: logx.LogConf{
- Path: "logs",
- },
- },
- Port: 3333,
- Signature: rest.SignatureConf{
- Strict: true,
- PrivateKeys: []rest.PrivateKeyConf{
- {
- Fingerprint: "bvw8YlnSqb+PoMf3MBbLdQ==",
- KeyFile: *keyPem,
- },
- },
- },
- })
- defer engine.Stop()
- engine.AddRoute(rest.Route{
- Method: http.MethodPost,
- Path: "/a/b",
- Handler: handle,
- })
- engine.Start()
- }
|