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
14dee37a
authored
2014-07-01 16:55:23 +0800
by
astaxie
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
beego: autorouter params
1 parent
17a9c3c3
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
8 additions
and
4 deletions
router.go
router.go
View file @
14dee37
...
...
@@ -346,19 +346,23 @@ func (p *ControllerRegistor) AddAutoPrefix(prefix string, c ControllerInterface)
reflectVal
:=
reflect
.
ValueOf
(
c
)
rt
:=
reflectVal
.
Type
()
ct
:=
reflect
.
Indirect
(
reflectVal
)
.
Type
()
controllerName
:=
strings
.
T
oLower
(
strings
.
TrimSuffix
(
ct
.
Name
(),
"Controller"
)
)
controllerName
:=
strings
.
T
rimSuffix
(
ct
.
Name
(),
"Controller"
)
for
i
:=
0
;
i
<
rt
.
NumMethod
();
i
++
{
if
!
utils
.
InSlice
(
rt
.
Method
(
i
)
.
Name
,
exceptMethod
)
{
route
:=
&
controllerInfo
{}
route
.
routerType
=
routerTypeBeego
route
.
methods
=
map
[
string
]
string
{
"*"
:
rt
.
Method
(
i
)
.
Name
}
route
.
controllerType
=
ct
pattern
:=
path
.
Join
(
prefix
,
controllerName
,
strings
.
ToLower
(
rt
.
Method
(
i
)
.
Name
),
"*"
)
patternfix
:=
path
.
Join
(
prefix
,
controllerName
,
strings
.
ToLower
(
rt
.
Method
(
i
)
.
Name
))
pattern
:=
path
.
Join
(
prefix
,
strings
.
ToLower
(
controllerName
),
strings
.
ToLower
(
rt
.
Method
(
i
)
.
Name
),
"*"
)
patternInit
:=
path
.
Join
(
prefix
,
controllerName
,
rt
.
Method
(
i
)
.
Name
,
"*"
)
patternfix
:=
path
.
Join
(
prefix
,
strings
.
ToLower
(
controllerName
),
strings
.
ToLower
(
rt
.
Method
(
i
)
.
Name
))
patternfixInit
:=
path
.
Join
(
prefix
,
controllerName
,
rt
.
Method
(
i
)
.
Name
)
route
.
pattern
=
pattern
for
_
,
m
:=
range
HTTPMETHOD
{
p
.
addToRouter
(
m
,
pattern
,
route
)
p
.
addToRouter
(
m
,
patternInit
,
route
)
p
.
addToRouter
(
m
,
patternfix
,
route
)
p
.
addToRouter
(
m
,
patternfixInit
,
route
)
}
}
}
...
...
@@ -603,7 +607,7 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request)
if
!
findrouter
{
if
t
,
ok
:=
p
.
routers
[
r
.
Method
];
ok
{
runObject
,
p
:=
t
.
Match
(
strings
.
ToLower
(
r
.
URL
.
Path
)
)
runObject
,
p
:=
t
.
Match
(
r
.
URL
.
Path
)
if
r
,
ok
:=
runObject
.
(
*
controllerInfo
);
ok
{
routerInfo
=
r
findrouter
=
true
...
...
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