diff --git a/flake.nix b/flake.nix index 9190852..cb7cb50 100644 --- a/flake.nix +++ b/flake.nix @@ -33,6 +33,13 @@ fiveam slite clack + jingle + lack-middleware-static + lack-middleware-session + lack-middleware-mount + lack + lack-util + lack-component woo ningle pkgs.openssl @@ -57,6 +64,11 @@ go nodejs sbcl' + guile + guile-fibers + guile-quickcheck + guile-sjson + guile-config clippy rustc cargo diff --git a/src/main.lisp b/src/main.lisp index 012da67..e5413e7 100644 --- a/src/main.lisp +++ b/src/main.lisp @@ -9,7 +9,12 @@ (asdf:load-system 'log4cl) (asdf:load-system 'fiveam) (asdf:load-system 'clack) +(asdf:load-system 'lack) +(asdf:load-system 'lack-component) +(asdf:load-system 'lack-util) +(asdf:load-system 'lack-middleware-static) (asdf:load-system 'ningle) +(asdf:load-system 'jingle) (defpackage tfcserver (:use :cl :com.inuoe.jzon :spinneret :serapeum)) @@ -18,7 +23,7 @@ (log:config :daily "/tmp/tfc-%Y%m%d.log") -(defvar *app* (make-instance 'ningle:app)) +(defvar *app* (jingle:make-app)) (defconstant *nc-password* (uiop:getenv "NC-PASSWORD")) (defconstant *email-password* (uiop:getenv "EMAIL-PASSWORD")) diff --git a/src/main.scm b/src/main.scm new file mode 100644 index 0000000..4882ae2 --- /dev/null +++ b/src/main.scm @@ -0,0 +1,26 @@ +(use-modules (fibers web server)) + +(define (log body level) + (let* ((current-time (localtime (current-time))) + (time (strftime "%G%m%d|%T" current-time))) + (format #t "[~a] ~a: ~a\n" time level body))) + +(define (log:info body) + (log body "INFO")) + +(define (log:warn body) + (log body "warn")) + +(define (log:debug body) + (log body "debug")) + +(define (log:error body) + (log body "error")) + +(define (handler request body) + (log:info "gore a req") + (values '((content-type . (text/plain))) + "Hello!")) + +(run-server handler #:port 4242) +