123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- package rest_websocket
- import (
- "log"
- "git.ali33.ru/fcg-xvii/go-tools/json"
- "git.ali33.ru/fcg-xvii/rest"
- )
- /*
- type IRequest interface {
- Type() RequestType
- IsAuth() bool
- Command() string
- Auth() json.Map
- Data() json.Map
- FileKeys() []string
- File(name string) (IReadCloserLen, bool)
- GenerateToken(data json.Map, expire int64) (string, error)
- Root() any
- Core() any
- ResponseSuccess(data json.Map, files map[string]IReadCloserLen) IResponse
- ResponseError(code int, err IErrorArgs) IResponse
- Close()
- }
- )*/
- type Request struct {
- mes *Message
- }
- func (s *Request) Type() rest.RequestType {
- return s.mes.mType
- }
- func (s *Request) IsAuth() bool {
- return s.mes.owner.Auth != nil
- }
- func (s *Request) Auth() json.Map {
- return s.mes.owner.Auth
- }
- func (s *Request) SetAuth(m json.Map) {
- s.mes.owner.Auth = m
- }
- func (s *Request) Command() string {
- return s.mes.command
- }
- func (s *Request) Data() json.Map {
- return s.mes.data
- }
- func (s *Request) FileKeys() []string {
- return s.mes.FileKeys()
- }
- func (s *Request) File(name string) (rest.IReadCloserLen, bool) {
- res, check := s.mes.files[name]
- return res, check
- }
- func (s *Request) GenerateToken(data json.Map, expire int64) (string, error) {
- return s.mes.owner.appConf.tokenGenerator(data, expire)
- }
- func (s *Request) Root() any {
- return s.mes.owner
- }
- func (s *Request) Core() any {
- return s.mes.owner.appConf.core
- }
- func (s *Request) ResponseSuccess(data json.Map, files map[string]rest.IReadCloserLen) rest.IResponse {
- if s.mes.mType == rest.RequestTypeEvent {
- return &rest.ResponseEmpty{}
- }
- return &Response{
- mes: s.mes,
- data: data,
- files: files,
- }
- }
- func (s *Request) ResponseError(code int, err rest.IErrorArgs) rest.IResponse {
- log.Println("RESP-ERROR", err.Map())
- if s.mes.mType == rest.RequestTypeEvent {
- return &rest.ResponseEmpty{}
- }
- return &Response{
- mes: s.mes,
- err: err,
- }
- }
- func (s *Request) Close() {
- s.mes.Close()
- }
|