-
Notifications
You must be signed in to change notification settings - Fork 65
Home
GitWiki edited this page Dec 15, 2015
·
12 revisions
/// src_inlined SimplePath core/src/test/scala/ApiExamples.scala
new RhoService {
GET / "hello" |>> { () => Ok("Hello, world!") }
}
/// end_src_inlined
- The http4s-core dsl defines routes in terms of partial functions using pattern matching extractors while rho uses a set of 'rules' to match and extract information from the request.
- Rho maintains meta data such as the names of extracted parameters and their types which can be reused for tasks such as generation of Swagger documentation.
- Rho routing is implemented as an efficient tree structure as opposed to a linear search.
- Rho is similar in intention to the red-eyes project: maintaining metadata.
- Rho route definition feels similar to Finch and Scalatra.
The rho wiki is setup to automatically inline code snippets from the repository! See all those code blocks of the form:
/// src_inlined SimplePath core/src/test/scala/ApiExamples.scala
new RhoService {
GET / "hello" |>> { () => Ok("Hello, world!") }
}
/// end_src_inlined
Those are automatically inlined from the github source repo based on the tags
/// src_inlined TAGNAME CODE.PATH
and
/// end_src_inlined
.
That means that the examples are just fragments of test code found in the master branch. You can contribute by contributing example fragments to the repository and then inlining them in the wiki by including the two tags on their own lines (typically inside a code block). Once the page is saved, give it a few seconds and refresh to see the fragment inlined in the wiki!
Note: if errors are found (missing tags, missing source file, etc) the page will not be updated.