35 lines
695 B
Go
35 lines
695 B
Go
package processor
|
|
|
|
import (
|
|
"context"
|
|
"net/http"
|
|
|
|
"git.optclblast.xyz/draincloud/draincloud-core/internal/handler"
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
type ginWriter struct {
|
|
ctx *gin.Context
|
|
}
|
|
|
|
func wrapGin(ctx *gin.Context) ginWriter {
|
|
return ginWriter{
|
|
ctx: ctx,
|
|
}
|
|
}
|
|
|
|
func (w ginWriter) Write(ctx context.Context, resp any, opts ...handler.WriteOption) {
|
|
params := &handler.WriteOptions{
|
|
Code: http.StatusOK,
|
|
}
|
|
for _, o := range opts {
|
|
o(params)
|
|
}
|
|
|
|
w.ctx.JSON(params.Code, resp)
|
|
}
|
|
|
|
func (w ginWriter) SetCookie(name string, value string, maxAge int, path string, domain string, secure bool, httpOnly bool) {
|
|
w.ctx.SetCookie(name, value, maxAge, path, domain, secure, httpOnly)
|
|
}
|