top

pathtree implements a tree for fast path lookup.

Restrictions

- Paths must be a '/'-separated list of strings, like a URL or Unix filesystem.
- All paths must begin with a '/'.
- Path elements may not contain a '/'.
- Path elements beginning with a ':' or '*' will be interpreted as wildcards.
- Trailing slashes are inconsequential.

Wildcards

Wildcards are named path elements that may match any strings in that location. Two different kinds of wildcards are permitted:

- :var - names beginning with ':' will match any single path element.
- *var - names beginning with '*' will match one or more path elements.
         (however, no path elements may come after a star wildcard)

Extensions

Single element wildcards in the last path element can optionally end with an extension. This allows for routes like '/users/:id.json', which will not conflict with '/users/:id'.

Algorithm

Paths are mapped to the tree in the following way:

- Each '/' is a Node in the tree. The root node is the leading '/'.
- Each Node has edges to other nodes. The edges are named according to the
  possible path elements at that depth in the path.
- Any Node may have an associated Leaf.  Leafs are terminals containing the
  data associated with the path as traversed from the root to that Node.

Edges are implemented as a map from the path element name to the next node in the path.

Imported by 257 package(s) ΒΆ

  1. github.com/0x19/revel
  2. github.com/1851616111/go-http-routing-benchmark
  3. github.com/3d0c/revel
  4. github.com/Acidic9/revel
  5. github.com/AkriosChan/revel
  6. github.com/AndrewBurian/go-http-routing-benchmark
  7. github.com/ClanStyles/revel
  8. github.com/CloudyKit/go-http-routing-benchmark
  9. github.com/Elido/revel
  10. github.com/Elivoa/revel
  11. github.com/Ishukone/revel
  12. github.com/JaTochNietDan/revel
  13. github.com/JackDanger/revel
  14. github.com/JessonChan/go-http-routing-benchmark
  15. github.com/Jetvp/revel
  16. github.com/Jimmy99/go-http-routing-benchmark
  17. github.com/JingxuanWang/revel
  18. github.com/JonPulfer/revel
  19. github.com/Jormundir/revel
  20. github.com/JulienSchmidt/go-http-routing-benchmark
  21. github.com/JunOnes/revel
  22. github.com/LeonZhu1981/revel
  23. github.com/MZAWeb/revel
  24. github.com/Miniand/revel
  25. github.com/ScruffyProdigy/revel
  26. github.com/ShaneWilton/revel
  27. github.com/Slowpython/revel
  28. github.com/TheHippo/go-http-routing-benchmark
  29. github.com/TheHippo/mars
  30. github.com/Toorop/revel
  31. github.com/UmeshVeerasingam/revel
  32. github.com/Unknwon/go-http-routing-benchmark
  33. github.com/Warashi/revel
  34. github.com/WinWiny/revel
  35. github.com/Xuyuanp/go-http-routing-benchmark
  36. github.com/a696385/revel
  37. github.com/abustany/revel
  38. github.com/acsellers/revel
  39. github.com/airylinus/revel
  40. github.com/allenessy/revel
  41. github.com/andrewburian/go-http-routing-benchmark
  42. github.com/andrewmunsell/revel
  43. github.com/andrewnester/revel
  44. github.com/ant0ine/go-http-routing-benchmark
  45. github.com/aprilsky/revel
  46. github.com/arkxu/revel
  47. github.com/arthurwhite/go-http-routing-benchmark
  48. github.com/atomaths/revel
  49. github.com/atydnyuk/revel
  50. github.com/aybabtme/revel
  51. github.com/beauhoyt/go-http-routing-benchmark
  52. github.com/besser/go-http-routing-benchmark
  53. github.com/bfitzsimmons/go-http-routing-benchmark
  54. github.com/billkindman/revel
  55. github.com/birkirb/revel
  56. github.com/bradrydzewski/revel
  57. github.com/brendensoares/revel
  58. github.com/brucexj/revel
  59. github.com/caiqfrog/revel
  60. github.com/cavaliercoder/revel
  61. github.com/cbonello/revel
  62. github.com/chenlong828/revel
  63. github.com/chespinoza/revel
  64. github.com/chrisbutcher/revel
  65. github.com/chubais/go-http-routing-benchmark
  66. github.com/chucklqsun/revel
  67. github.com/citysir/go-http-routing-benchmark
  68. github.com/ckrissun/revel
  69. github.com/clanstyles/revel
  70. github.com/classmarkets/revel
  71. github.com/cloudtrends/revel
  72. github.com/coaku/revel
  73. github.com/conformal/revel
  74. github.com/cougarwww/revel
  75. github.com/cryptix/revel
  76. github.com/ctulek/revel
  77. github.com/cwacek/revel
  78. github.com/dalent/go-http-routing-benchmark
  79. github.com/dalu/revel
  80. github.com/damirazo/revel
  81. github.com/dave-rose/revel
  82. github.com/devshell/revel
  83. github.com/dicefm/revel
  84. github.com/dinever/go-http-routing-benchmark
  85. github.com/dingzhongchang/revel
  86. github.com/dionyself/revel
  87. github.com/djinn/go-http-routing-benchmark
  88. github.com/dkulchenko/revel
  89. github.com/dndx/revel
  90. github.com/dominicphillips/revel
  91. github.com/dpires/revel
  92. github.com/e4x/revel
  93. github.com/ejlangev/revel
  94. github.com/elivoa/revel
  95. github.com/elvislei/revel
  96. github.com/enderlu/revel
  97. github.com/evalphobia/revel
  98. github.com/fmd/revel
  99. github.com/frazy/revel
  100. github.com/futurez/revel
  101. github.com/gabrielmiller/revel
  102. github.com/gabstv/goboots
  103. github.com/gerryyang/go-http-routing-benchmark
  104. github.com/ggerman/revel
  105. github.com/gholadr/revel
  106. github.com/gin-gonic/go-http-routing-benchmark
  107. github.com/giter/revel
  108. github.com/gnanderson/go-http-routing-benchmark
  109. github.com/golib/revel
  110. github.com/goodsign/revel
  111. github.com/gotokatsuya/go-http-routing-benchmark
  112. github.com/gotsunami/revel
  113. github.com/goutils/revel
  114. github.com/guotie/revel
  115. github.com/hainam/revel
  116. github.com/hubply/gospf
  117. github.com/hugecannon/revel
  118. github.com/huiliang/revel
  119. github.com/iamjem/revel
  120. github.com/iassic/revel
  121. github.com/inhies/revel
  122. github.com/jabong/revel
  123. github.com/janekolszak/revel
  124. github.com/jasocox/revel
  125. github.com/jbuberel/go-http-routing-benchmark
  126. github.com/jchavannes/revel
  127. github.com/jcvernaleo/revel
  128. github.com/jeisenberg/revel
  129. github.com/jhotta/revel
  130. github.com/jianping11/revel
  131. github.com/jlujan/revel
  132. github.com/jmedding/revel
  133. github.com/joeybloggs/go-http-routing-benchmark
  134. github.com/johansenj/revel
  135. github.com/julienschmidt/go-http-routing-benchmark
  136. github.com/karls/revel
  137. github.com/kdada/go-http-routing-benchmark
  138. github.com/ked888/revel
  139. github.com/kidoman/revel
  140. github.com/klauspost/revel
  141. github.com/kosuda/go-http-routing-benchmark
  142. github.com/l3pp4rd/go-http-routing-benchmark
  143. github.com/landaire/revel
  144. github.com/lealife/revel
  145. github.com/levilovelock/revel
  146. github.com/lexszero/revel
  147. github.com/libgo/revel
  148. github.com/linewin/linend
  149. github.com/liu-rui/go-http-routing-benchmark
  150. github.com/liuzhiyi/revel
  151. github.com/loint/revel
  152. github.com/longbai/revel
  153. github.com/lshengjian/revel
  154. github.com/ludmiloff/revel
  155. github.com/lujiacn/revel
  156. github.com/lukeslattry/revel
  157. github.com/lunny/go-http-routing-benchmark
  158. github.com/luosangnanka/revel
  159. github.com/lvzhihao/revel
  160. github.com/maiconio/revel
  161. github.com/mansoor-s/revel
  162. github.com/martinml/revel
  163. github.com/matm/revel
  164. github.com/mattbaird/revel
  165. github.com/matzhouse/revel
  166. github.com/mceldeen/revel
  167. github.com/mem/revel
  168. github.com/metafex/revel
  169. github.com/mezzato/revel
  170. github.com/mihteh/revel
  171. github.com/mikespook/go-http-routing-benchmark
  172. github.com/mindworker/revel
  173. github.com/mybruce/revel
  174. github.com/naoina/go-http-routing-benchmark
  175. github.com/naqvis/revel
  176. github.com/netassist-ua/revel
  177. github.com/nkatsaros/revel
  178. github.com/notzippy/revel
  179. github.com/noypi/go-http-routing-benchmark
  180. github.com/nubleer/revel
  181. github.com/oddurmagg/revel
  182. github.com/oldfan/revel
  183. github.com/op/revel
  184. github.com/oracleJava/revel
  185. github.com/ottob/revel
  186. github.com/panjjo/revel
  187. github.com/pbnjay/revel
  188. github.com/pegasuskim/go-http-routing-benchmark
  189. github.com/pepourquier/revel
  190. github.com/pfeairheller/revel
  191. github.com/philipbo/go-http-routing-benchmark
  192. github.com/pkieltyka/go-http-routing-benchmark
  193. github.com/plimble/go-http-routing-benchmark
  194. github.com/polds/revel
  195. github.com/pranjal5215/revel
  196. github.com/ptman/revel
  197. github.com/purohit/revel
  198. github.com/pushrax/revel
  199. github.com/qiangxue/go-http-routing-benchmark
  200. github.com/rare/revel
  201. github.com/rayyildiz/revel
  202. github.com/revel/revel
  203. github.com/rjeczalik/revel
  204. github.com/robfig/revel
  205. github.com/roblillack/mars
  206. github.com/romanoff/revel
  207. github.com/rxnfx/revel
  208. github.com/safeie/go-http-routing-benchmark
  209. github.com/saintfish/revel
  210. github.com/samete/revel
  211. github.com/saturn4er/revel
  212. github.com/seanluo/revel
  213. github.com/senseobservationsystems/revel
  214. github.com/serialx/revel
  215. github.com/sevki/revel
  216. github.com/shangyou/revel
  217. github.com/shivakar/go-http-routing-benchmark
  218. github.com/sinopower/revel
  219. github.com/sisteamnik/revel
  220. github.com/smithfox/revel
  221. github.com/softminer/revel
  222. github.com/squiidz/bench
  223. github.com/stsmedia/revel
  224. github.com/stunti/revel
  225. github.com/suifengRock/go-http-routing-benchmark
  226. github.com/sunisdown/go-http-routing-benchmark
  227. github.com/tanema/revel
  228. github.com/theckman/go-http-routing-benchmark
  229. github.com/thereallisa/revel
  230. github.com/toohsk/revel
  231. github.com/toorop/revel
  232. github.com/tortuoise/revel
  233. github.com/tpjg/revel
  234. github.com/tpng/revel
  235. github.com/ttacon/operator
  236. github.com/tw4452852/revel
  237. github.com/twanies/go-http-routing-benchmark
  238. github.com/unknwon/go-http-routing-benchmark
  239. github.com/ursiform/go-http-routing-benchmark
  240. github.com/vanng822/go-http-routing-benchmark
  241. github.com/verdverm/revel
  242. github.com/viechang/revel
  243. github.com/virtao/revel
  244. github.com/visualmotive/revel
  245. github.com/waiteb3/revel
  246. github.com/wdreeveii/revel
  247. github.com/weidewang/revel
  248. github.com/whispermemory/revel
  249. github.com/widaT/revel
  250. github.com/xuxiangyang/revel
  251. github.com/xuzhaokui/revel
  252. github.com/yuriyklepikov/revel
  253. github.com/zhaming/revel
  254. github.com/zhjh1209/revel
  255. github.com/zhuharev/revel
  256. github.com/zimmski/revel
  257. gopkg.in/revel/revel.v0