goserver

package module
v0.0.0-...-4db118b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 11, 2017 License: BSD-3-Clause Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type HandlerInfo

type HandlerInfo struct {
	Path           string
	GetHandler     func(http.ResponseWriter, *http.Request, Info)
	PostHandler    func(http.ResponseWriter, *http.Request, Info)
	GetRestricted  bool
	PostRestricted bool
}

type Info

type Info struct {
	Server  *Server
	Session Session
	Path    string
}

func (*Info) User

func (info *Info) User() string

type Server

type Server struct {
	Handlers       []HandlerInfo
	SessionManager *SessionManager
	RequireLogin   bool
	Users          map[string]string
}

func NewServer

func NewServer(requireLogin bool) *Server

func (*Server) AddGetHandler

func (server *Server) AddGetHandler(path string, handler func(http.ResponseWriter, *http.Request, Info), restricted bool)

func (*Server) AddHandler

func (server *Server) AddHandler(path string, handler func(http.ResponseWriter, *http.Request, Info))

func (*Server) AddHandlerFrom

func (server *Server) AddHandlerFrom(handlerInfo HandlerInfo)

func (*Server) AddPostHandler

func (server *Server) AddPostHandler(path string, handler func(http.ResponseWriter, *http.Request, Info), restricted bool)

func (*Server) AddUser

func (server *Server) AddUser(user string, password string)

func (*Server) Login

func (server *Server) Login(user string, password string, session Session) bool

func (*Server) Logout

func (server *Server) Logout(session Session)

func (*Server) Serve

func (server *Server) Serve()

func (*Server) ServeOnPort

func (server *Server) ServeOnPort(port string)

type Session

type Session interface {
	Set(key, value interface{})              //set session value
	Get(key interface{}) (interface{}, bool) //get session value
	Delete(key interface{})                  //delete session value
	SessionID() string                       //back current sessionID
	Age() int64
}

type SessionData

type SessionData struct {
	// contains filtered or unexported fields
}

func (*SessionData) Age

func (session *SessionData) Age() int64

func (*SessionData) Delete

func (session *SessionData) Delete(key interface{})

func (*SessionData) Get

func (session *SessionData) Get(key interface{}) (interface{}, bool)

func (*SessionData) SessionID

func (session *SessionData) SessionID() string

func (*SessionData) Set

func (session *SessionData) Set(key, value interface{})

type SessionManager

type SessionManager struct {
	Sessions map[string]Session
	// contains filtered or unexported fields
}

func NewSessionManager

func NewSessionManager(cookieName string, maxlifetime int64) *SessionManager

func (*SessionManager) GC

func (manager *SessionManager) GC()

func (*SessionManager) SessionDestroy

func (manager *SessionManager) SessionDestroy(w http.ResponseWriter, r *http.Request)

func (*SessionManager) SessionStart

func (manager *SessionManager) SessionStart(w http.ResponseWriter, r *http.Request) Session

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL