feat: complete contract-driven business development and MySQL integration
This commit is contained in:
@@ -36,7 +36,7 @@ var checkRequest = contract.MustNew[types.CheckReq]()
|
||||
|
||||
func (h *Handler) Check(c *httpx.Context) error {
|
||||
var req types.CheckReq
|
||||
if err := checkRequest.Bind(c.Request(), httpx.RouteParams(c.Context()), &req); err != nil {
|
||||
if err := checkRequest.BindWithPolicy(c.Request(), httpx.RouteParams(c.Context()), &req, contract.RequestPolicy{UnknownQuery: "", UTF8: "", Charset: "", Body: ""}); err != nil {
|
||||
return err
|
||||
}
|
||||
resp, err := h.logic.Check(c.Context(), &req)
|
||||
@@ -53,7 +53,7 @@ var otherRequest = contract.MustNew[types.CheckReq]()
|
||||
|
||||
func (h *Handler) Other(c *httpx.Context) error {
|
||||
var req types.CheckReq
|
||||
if err := otherRequest.Bind(c.Request(), httpx.RouteParams(c.Context()), &req); err != nil {
|
||||
if err := otherRequest.BindWithPolicy(c.Request(), httpx.RouteParams(c.Context()), &req, contract.RequestPolicy{UnknownQuery: "", UTF8: "", Charset: "", Body: ""}); err != nil {
|
||||
return err
|
||||
}
|
||||
resp, err := h.logic.Other(c.Context(), &req)
|
||||
@@ -65,7 +65,13 @@ func (h *Handler) Other(c *httpx.Context) error {
|
||||
}
|
||||
return c.OK(resp)
|
||||
}
|
||||
|
||||
var rawJSONRequest = contract.MustNew[struct{}]()
|
||||
|
||||
func (h *Handler) RawJSON(c *httpx.Context) error {
|
||||
if err := rawJSONRequest.BindWithPolicy(c.Request(), httpx.RouteParams(c.Context()), &struct{}{}, contract.RequestPolicy{UnknownQuery: "", UTF8: "", Charset: "", Body: ""}); err != nil {
|
||||
return err
|
||||
}
|
||||
resp, err := h.logic.RawJSON(c.Context())
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -75,7 +81,13 @@ func (h *Handler) RawJSON(c *httpx.Context) error {
|
||||
}
|
||||
return c.OK(resp)
|
||||
}
|
||||
|
||||
var uploadRequest = contract.MustNew[struct{}]()
|
||||
|
||||
func (h *Handler) Upload(c *httpx.Context) error {
|
||||
if err := uploadRequest.BindWithPolicy(c.Request(), httpx.RouteParams(c.Context()), &struct{}{}, contract.RequestPolicy{UnknownQuery: "", UTF8: "", Charset: "", Body: "auto"}, 2048); err != nil {
|
||||
return err
|
||||
}
|
||||
body, err := httpx.NewBody(c.Request(), "multipart")
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -92,7 +104,13 @@ func (h *Handler) Upload(c *httpx.Context) error {
|
||||
}
|
||||
return c.OK(resp)
|
||||
}
|
||||
|
||||
var callbackRequest = contract.MustNew[struct{}]()
|
||||
|
||||
func (h *Handler) Callback(c *httpx.Context) error {
|
||||
if err := callbackRequest.BindWithPolicy(c.Request(), httpx.RouteParams(c.Context()), &struct{}{}, contract.RequestPolicy{UnknownQuery: "", UTF8: "", Charset: "", Body: "auto"}, 64); err != nil {
|
||||
return err
|
||||
}
|
||||
body, err := httpx.NewBody(c.Request(), "raw")
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -112,7 +130,13 @@ func (h *Handler) Callback(c *httpx.Context) error {
|
||||
}
|
||||
return c.WriteStream(200, "text/plain", resp)
|
||||
}
|
||||
|
||||
var downloadRequest = contract.MustNew[struct{}]()
|
||||
|
||||
func (h *Handler) Download(c *httpx.Context) error {
|
||||
if err := downloadRequest.BindWithPolicy(c.Request(), httpx.RouteParams(c.Context()), &struct{}{}, contract.RequestPolicy{UnknownQuery: "", UTF8: "", Charset: "", Body: ""}); err != nil {
|
||||
return err
|
||||
}
|
||||
resp, err := h.logic.Download(c.Context())
|
||||
if err != nil {
|
||||
if resp != nil {
|
||||
@@ -122,7 +146,13 @@ func (h *Handler) Download(c *httpx.Context) error {
|
||||
}
|
||||
return c.WriteStream(200, "application/octet-stream", resp)
|
||||
}
|
||||
|
||||
var slowRequest = contract.MustNew[struct{}]()
|
||||
|
||||
func (h *Handler) Slow(c *httpx.Context) error {
|
||||
if err := slowRequest.BindWithPolicy(c.Request(), httpx.RouteParams(c.Context()), &struct{}{}, contract.RequestPolicy{UnknownQuery: "", UTF8: "", Charset: "", Body: ""}); err != nil {
|
||||
return err
|
||||
}
|
||||
resp, err := h.logic.Slow(c.Context())
|
||||
if err != nil {
|
||||
return err
|
||||
|
||||
Reference in New Issue
Block a user