Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;; Untested, written out of memory
- (in-package :radiance-mod-paste)
- (defmethod init-database ((module paste))
- (db-create T "pastes" '(("text" :text))))
- (defhook :server :init (get-module :paste) #'init-database)
- (defpage #p"paste./"
- "<form action=\"/api/paste/submit\" method=\"post\"><textarea name=\"text\"></textarea><br /><input type=\"submit\" /></form>")
- (defpage #p"paste./id/\\d+"
- (let ((id (second (split-sequence #\/ (path *radiance-request*)))))
- (with-model (model text) ("pastes" (query (:= "_id" id)))
- (format NIL "<blockquote>~a</blockquote>" text))))
- (defapi submit (text) (:method :POST)
- (with-model (model) ("pastes" NIL)
- (setf (model-field model "text") text)
- (model-insert model)
- (redirect (format NIL "/id/~a" (model-field model "_id")))))
- ;; Todo: proper templates, HTML escaping, additional metadata.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement