popcorn :: UserList :: defaultinit
core :: Object :: class_factory
Implementation used byget_class
to create the specific class.
popcorn :: Handler :: defaultinit
core :: Object :: defaultinit
popcorn :: UserList :: defaultinit
popcorn :: Handler :: deserialize_body
Deserialize the request bodycore :: Object :: is_same_instance
Return true ifself
and other
are the same instance (i.e. same identity).
core :: Object :: is_same_serialized
Isself
the same as other
in a serialization context?
core :: Object :: is_same_type
Return true ifself
and other
have the same dynamic type.
core :: Object :: output_class_name
Display class name on stdout (debug only).popcorn :: Handler :: validate_body
Validate body input withvalidator
popcorn :: Handler :: validator
Validator used to check body inputpopcorn :: Handler :: validator=
Validator used to check body input
class UserList
super Handler
var db: MongoDb
redef fun get(req, res) do
var users = db.collection("users").find_all(new JsonObject)
var tpl = new Template
tpl.add """
<h1>Users</h1>
<h2>Add a new user</h2>
<form action="/" method="POST">
<input type="text" name="login" />
<input type="password" name="password" />
<input type="submit" value="save" />
</form>
<h2>All users</h2>
<table>"""
for user in users do
tpl.add """<tr>
<td>{{{user["login"] or else "null"}}}</td>
<td>{{{user["password"] or else "null"}}}</td>
</tr>"""
end
tpl.add "</table>"
res.html(tpl)
end
redef fun post(req, res) do
var json = new JsonObject
json["login"] = req.post_args["login"]
json["password"] = req.post_args["password"]
db.collection("users").insert(json)
res.redirect("/")
end
end
lib/popcorn/examples/mongodb/example_mongodb.nit:23,1--61,3