@ -190,7 +190,9 @@ func (a *api) blogHandler() http.Handler {
mux . Handle ( "/posts/" , http . StripPrefix ( "/posts" ,
apiutil . MethodMux ( map [ string ] http . Handler {
"GET" : a . renderPostHandler ( ) ,
"GET" : a . getPostHandler ( ) ,
"EDIT" : a . editPostHandler ( false ) ,
"MANAGE" : a . managePostsHandler ( ) ,
"POST" : a . postPostHandler ( ) ,
"DELETE" : a . deletePostHandler ( false ) ,
"PREVIEW" : a . previewPostHandler ( ) ,
@ -200,6 +202,7 @@ func (a *api) blogHandler() http.Handler {
mux . Handle ( "/assets/" , http . StripPrefix ( "/assets" ,
apiutil . MethodMux ( map [ string ] http . Handler {
"GET" : a . getPostAssetHandler ( ) ,
"MANAGE" : a . managePostAssetsHandler ( ) ,
"POST" : a . postPostAssetHandler ( ) ,
"DELETE" : a . deletePostAssetHandler ( ) ,
} ) ,
@ -211,7 +214,8 @@ func (a *api) blogHandler() http.Handler {
authMiddleware ( a . auther ) (
apiutil . MethodMux ( map [ string ] http . Handler {
"GET" : a . renderDraftPostHandler ( ) ,
"EDIT" : a . editPostHandler ( true ) ,
"MANAGE" : a . manageDraftPostsHandler ( ) ,
"POST" : a . postDraftPostHandler ( ) ,
"DELETE" : a . deletePostHandler ( true ) ,
"PREVIEW" : a . previewPostHandler ( ) ,
@ -227,17 +231,21 @@ func (a *api) blogHandler() http.Handler {
mux . Handle ( "/feed.xml" , a . renderFeedHandler ( ) )
mux . Handle ( "/" , a . renderIndexHandler ( ) )
h := apiutil . MethodMux ( map [ string ] http . Handler {
"GET" : applyMiddlewares (
mux ,
readOnlyMiddlewares := [ ] middleware {
logReqMiddleware , // only log GETs on cache miss
cacheMiddleware ( cache ) ,
) ,
"*" : applyMiddlewares (
mux ,
}
readWriteMiddlewares := [ ] middleware {
purgeCacheOnOKMiddleware ( cache ) ,
authMiddleware ( a . auther ) ,
) ,
}
h := apiutil . MethodMux ( map [ string ] http . Handler {
"GET" : applyMiddlewares ( mux , readOnlyMiddlewares ... ) ,
"MANAGE" : applyMiddlewares ( mux , readOnlyMiddlewares ... ) ,
"EDIT" : applyMiddlewares ( mux , readOnlyMiddlewares ... ) ,
"*" : applyMiddlewares ( mux , readWriteMiddlewares ... ) ,
} )
return h
@ -247,10 +255,15 @@ func (a *api) handler() http.Handler {
mux := http . NewServeMux ( )
mux . Handle ( "/api/" , http . StripPrefix ( "/api" , a . apiHandler ( ) ) )
mux . Handle ( "/api/" , applyMiddlewares (
http . StripPrefix ( "/api" , a . apiHandler ( ) ) ,
logReqMiddleware ,
) )
mux . Handle ( "/" , a . blogHandler ( ) )
h := apiutil . MethodMux ( map [ string ] http . Handler {
h := applyMiddlewares (
apiutil . MethodMux ( map [ string ] http . Handler {
"GET" : applyMiddlewares (
mux ,
) ,
@ -262,11 +275,10 @@ func (a *api) handler() http.Handler {
"Pragma" : "no-cache" ,
"Expires" : "0" ,
} ) ,
logReqMiddleware ,
) ,
} )
h = setLoggerMiddleware ( a . params . Logger ) ( h )
} ) ,
setLoggerMiddleware ( a . params . Logger ) ,
)
return h
}