Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
张磊
/
FileStorageBeego
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
de0113ae
authored
2013-12-19 00:43:29 +0800
by
astaxie
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
add comments & change channel from 100 to 1000
1 parent
7242bc86
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
9 additions
and
5 deletions
router.go
router.go
View file @
de0113a
...
...
@@ -40,13 +40,13 @@ type controllerInfo struct {
}
type
ControllerRegistor
struct
{
routers
[]
*
controllerInfo
fixrouters
[]
*
controllerInfo
routers
[]
*
controllerInfo
// regexp router storage
fixrouters
[]
*
controllerInfo
// fixed router storage
enableFilter
bool
filters
map
[
int
][]
*
FilterRouter
enableAuto
bool
autoRouter
map
[
string
]
map
[
string
]
reflect
.
Type
//key:controller key:method value:reflect.type
contextBuffer
chan
*
beecontext
.
Context
contextBuffer
chan
*
beecontext
.
Context
//context buffer pool
}
func
NewControllerRegistor
()
*
ControllerRegistor
{
...
...
@@ -54,7 +54,7 @@ func NewControllerRegistor() *ControllerRegistor {
routers
:
make
([]
*
controllerInfo
,
0
),
autoRouter
:
make
(
map
[
string
]
map
[
string
]
reflect
.
Type
),
filters
:
make
(
map
[
int
][]
*
FilterRouter
),
contextBuffer
:
make
(
chan
*
beecontext
.
Context
,
100
),
contextBuffer
:
make
(
chan
*
beecontext
.
Context
,
100
0
),
}
}
...
...
@@ -213,6 +213,10 @@ func (p *ControllerRegistor) Add(pattern string, c ControllerInterface, mappingM
}
// add auto router to controller
// example beego.AddAuto(&MainContorlller{})
// MainController has method List and Page
// you can visit the url /main/list to exec List function
// /main/page to exec Page function
func
(
p
*
ControllerRegistor
)
AddAuto
(
c
ControllerInterface
)
{
p
.
enableAuto
=
true
reflectVal
:=
reflect
.
ValueOf
(
c
)
...
...
@@ -367,7 +371,7 @@ func (p *ControllerRegistor) UrlFor(endpoint string, values ...string) string {
return
""
}
//
AutoRoute
//
main function to serveHTTP
func
(
p
*
ControllerRegistor
)
ServeHTTP
(
rw
http
.
ResponseWriter
,
r
*
http
.
Request
)
{
defer
func
()
{
if
err
:=
recover
();
err
!=
nil
{
...
...
Write
Preview
Styling with
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment