// Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package adapter import ( "github.com/astaxie/beego/adapter/context" beecontext "github.com/astaxie/beego/server/web/context" "github.com/astaxie/beego/server/web" ) // Tree has three elements: FixRouter/wildcard/leaves // fixRouter stores Fixed Router // wildcard stores params // leaves store the endpoint information type Tree web.Tree // NewTree return a new Tree func NewTree() *Tree { return (*Tree)(web.NewTree()) } // AddTree will add tree to the exist Tree // prefix should has no params func (t *Tree) AddTree(prefix string, tree *Tree) { (*web.Tree)(t).AddTree(prefix, (*web.Tree)(tree)) } // AddRouter call addseg function func (t *Tree) AddRouter(pattern string, runObject interface{}) { (*web.Tree)(t).AddRouter(pattern, runObject) } // Match router to runObject & params func (t *Tree) Match(pattern string, ctx *context.Context) (runObject interface{}) { return (*web.Tree)(t).Match(pattern, (*beecontext.Context)(ctx)) }