12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- package application
- import (
- "git.ali33.ru/fcg-xvii/rest"
- "git.ali33.ru/fcg-xvii/rest/commands"
- )
- func HTTPHeadersCrossOrigin() func() map[string]string {
- return func() map[string]string {
- return map[string]string{
- "Access-Control-Allow-Origin": "*",
- "Access-Control-Allow-Methods": "POST, GET, OPTIONS, PUT, DELETE",
- "Access-Control-Allow-Headers": "Content-Type, Authorization, X-Requested-With",
- }
- }
- }
- type AppConfig struct {
- SSL bool
- Addr string
- Http bool
- Websocket bool
- Secret []byte
- HttpPrefix string
- WebsocketPrefix string
- HTTPHeaders func() map[string]string
- Commands func(string) (rest.IExecuter, bool)
- TLSKeyPath string
- TLSCertPath string
- Core any
- OnSocketConnect func(rest.IStream)
- OnSocketDisconnect func(rest.IStream)
- }
- func (s *AppConfig) GetCommandsMethod() func(string) (rest.IExecuter, bool) {
- if s.Commands != nil {
- return s.Commands
- }
- return commands.GetCommand
- }
- func (s *AppConfig) GetHttpPrefix() string {
- if len(s.HttpPrefix) > 0 {
- return s.HttpPrefix
- }
- return "/api/"
- }
- func (s *AppConfig) GetWebsocketPrefix() string {
- if len(s.WebsocketPrefix) > 0 {
- return s.WebsocketPrefix
- }
- return "/ws/"
- }
- func (s *AppConfig) GetHTTPHeaders() func() map[string]string {
- if s.HTTPHeaders != nil {
- return s.HTTPHeaders
- }
- return HTTPHeadersCrossOrigin()
- }
|