Commit graph

201 commits

Author SHA1 Message Date
Eitaro Fukamachi
dee83e31f4
Merge pull request #34 from slyrus/mime-lookup-2
use mimes:mime-lookup instead of mimes:mime
2018-07-30 09:57:07 +09:00
Cyrus Harmon
b4ffadaa12 use mimes:mime-lookup instead of mimes:mime
* and set default to application/octet-stream

* otherwise, we run into problems if the "file" command invokation
  fails
2018-07-29 12:58:07 +02:00
Eitaro Fukamachi
b2d8e03065 Merge branch 'master' of github.com:fukamachi/lack 2018-07-24 14:43:14 +09:00
Eitaro Fukamachi
bde4285756 Change the default session key for CSRF token (Lack.Middleware.Csrf).
Keyword cannot be stored in RDBMS and a string would be better.
2018-07-24 14:42:05 +09:00
Eitaro Fukamachi
6809745e7a
Merge pull request #33 from mtstickney/quicklisp_symbol_usage
Fix fiddly build issues caused by references to quicklisp symbols
2018-07-20 15:35:26 +09:00
Matthew Stickney
6e2c315b32 Don't refer directly to symbols in systems we don't depend on.
The reader conditional for using quicklisp code only does half the job. You
will still get unpleasant build errors with the following common scenario:
1. The user loads this library, once, with quicklisp. The reader
   condition selects the quicklisp loader code.
2. ASDF caches a fasl file for this code, which uses the quicklisp
   functions.
3. The user loads this library again, without quicklisp.
4. ASDF loads the cached fasl, which refers to symbols in packages that
   don't exist in the current image, badness ensues.

This change avoids all read-time references to symbols in quicklisp by
looking up the symbols in question at run time. The symbol lookups go out
of their way to give good error messages if a symbol can't be found, since
FUNCALL-ing NIL doesn't tell you anything very helpful. The error type is
checked dynamically by using a HANDLER-BIND that traps every condition --
conditions of other types simply go unhandled, and are propagated normally.

The reader conditional has been replaced by a run-time features check, so
ASDF/quicklisp will be used based on what's present at the time the system
is loaded, and not what was available the first time this library was
loaded.
2018-07-05 14:52:18 -04:00
Eitaro Fukamachi
2c1c0df583 Change the option name of CSRF token to ':session-key'. 2018-04-12 17:23:32 +09:00
Eitaro Fukamachi
9ae2c5df7c Allow to change the key of CSRF token in a session. 2018-04-12 17:21:26 +09:00
Eitaro Fukamachi
23c372594b
Merge pull request #31 from 40ants/uri-scheme-for-request
Now request object has slot uri-scheme, accessible as request-uri-scheme
2018-01-09 18:04:18 +09:00
Eitaro Fukamachi
04bc3a37a9 Add :sqlite as a dependency to t-lack-session-store-dbi. 2018-01-09 17:36:00 +09:00
Eitaro Fukamachi
f8354ed740 Add :hunchentoot as a dependency for clack.test. 2018-01-09 17:30:59 +09:00
Eitaro Fukamachi
e98d629115 Use clack.test:localhost to test a lack app. 2018-01-09 17:21:17 +09:00
Eitaro Fukamachi
ac7e7eff66 Fix a test of lack.request. Body parameters would be ignored if Content-Length is NIL. 2018-01-09 17:16:19 +09:00
Alexander Artemenko
3a4827e62d Now request object has slot uri-scheme, accessible as request-uri-scheme.
This change was made to make possible to write a function which will rebuild an original URI, used for a request.

Also lack.test:generate-env function was modified to work with fully qualified URIs. When you pass it something like https://example.com/foo/bar, it will set host and port of environment to example.com and 433.

This is useful for mocking requests, pretending that request was made to some particular host.
2018-01-06 16:36:28 +03:00
Eitaro Fukamachi
19b9f1baa3 Do not parse raw-body if there's no Content-Length or Transafer-Encoding isn't chunked. 2017-07-07 11:53:22 +09:00
Eitaro Fukamachi
824436ac3c Add tests for lack-request. 2016-12-03 15:38:48 +09:00
Eitaro Fukamachi
2b09c189f0 Enable reviewdog. 2016-10-27 03:08:12 +09:00
Eitaro Fukamachi
32358fdad0 Add request-content for getting the whole request body from raw-body. 2016-10-17 20:27:32 +09:00
Eitaro Fukamachi
3940e86e8e Use circular-streams for wrapping raw-body. 2016-10-17 20:27:27 +09:00
Eitaro Fukamachi
4e3dd0b4a8 Add stream-element-type for writer-stream. 2016-09-28 16:45:30 +09:00
Eitaro Fukamachi
c8b6b003d4 Mention Lack.Util.Writer-Stream in README. 2016-09-27 14:12:54 +09:00
Eitaro Fukamachi
8c6ba6f41d Delete a dependency of lack.util on Alexandria. 2016-09-27 12:36:36 +09:00
Eitaro Fukamachi
6159d4a5ff Add lack.util.writer-stream for treating delayed responding writer as a stream. 2016-09-27 12:35:57 +09:00
Eitaro Fukamachi
82dd7c4b24 Change Lack.Response to add 'body' when it exists even if it doesn't at first. 2016-09-24 02:26:47 +09:00
Eitaro Fukamachi
2ddd6089d4 Mention :start and :end keyword of 'writer' function for streaming. 2016-09-24 02:25:17 +09:00
Eitaro Fukamachi
92848f6dde Merge pull request #23 from fukamachi/fix-response-no-body
Fix lack.response not to add NIL as the body when only 2 values are given to make-response.
2016-09-23 02:10:08 +09:00
Eitaro Fukamachi
3ef262381f The latest Clack & Jonathan are not necessary anymore. 2016-09-23 01:14:55 +09:00
Eitaro Fukamachi
1db8798811 Fix lack.response not to add NIL as the body when only 2 values are given to make-response. 2016-09-23 01:14:55 +09:00
Eitaro Fukamachi
b5fa81bb85 Add :url-scheme to the README. 2016-09-02 10:47:26 +09:00
Eitaro Fukamachi
ca42dd7b41 Merge pull request #19 from fukamachi/session-store-dbi-timestamps
Add :record-timestamps to dbi-store
2016-08-23 22:11:25 +09:00
Eitarow Fukamachi
17d15c7102 Add :record-timestamps to dbi-store for recording created_at & updated_at. 2016-08-23 22:01:50 +09:00
Eitaro Fukamachi
ac68b5c167 Merge pull request #18 from fukamachi/original-session-cookie-key
Allow to change the cookie key of Lack Session
2016-08-16 13:31:55 +09:00
Eitarow Fukamachi
618435d8ed Allow to change the cookie key of Lack Session (the default is 'lack.session') 2016-08-16 13:13:34 +09:00
Eitaro Fukamachi
54a1a8f7ea Fix a test of lack.session.store.redis. 2016-02-11 21:44:04 +09:00
Eitaro Fukamachi
9ff8959571 Stop executing a meaningless UPDATE query when the session isn't changed. 2016-02-11 21:35:17 +09:00
Eitaro Fukamachi
d06ba3737c Add default keys to lack.session.options. 2016-02-11 21:34:56 +09:00
Eitaro Fukamachi
524f4c3fe1 Add tests for Lack.Session.Store.Redis. 2016-02-09 22:50:40 +09:00
Eitaro Fukamachi
6a07817137 Update .travis.yml. 2016-02-09 22:22:34 +09:00
Eitaro Fukamachi
7ab8ac79e6 Add lack.session.store.redis for storing session data in Redis. 2016-02-09 22:05:37 +09:00
Eitaro Fukamachi
0ec31a24a6 Suppress loading messages in find-package-or-load. 2016-02-08 16:18:16 +09:00
Eitaro Fukamachi
1c6f0f7ebc Merge pull request #17 from PuercoPop/patch-1
Correct response format
2016-01-23 12:08:04 +09:00
Javier Olaechea
95b0679252 Correct response format
A Clack response may be a bye vector not a list of them
2016-01-18 16:34:13 -05:00
Eitaro Fukamachi
c50562b144 Change the build status badge. 2015-11-19 19:32:44 +09:00
Eitaro Fukamachi
1905bfb718 Merge pull request #16 from fukamachi/fix-session-store-dbi
Fix lack-session-store-dbi to allow UTF-8 data
2015-11-19 19:28:02 +09:00
Eitaro Fukamachi
4f07c50b6c Fix an error when storing UTF-8 data to DBI session store. 2015-11-19 18:05:04 +09:00
Eitaro Fukamachi
114b513c89 Add tests for serializing/deserializing UTF-8 sessions in DBI. 2015-11-19 18:02:26 +09:00
Eitaro Fukamachi
3a74575651 Show warnings when deserializing a session failed. 2015-11-19 18:02:07 +09:00
Eitaro Fukamachi
783fd017e5 Merge pull request #15 from farmerpat/readme_update
clarify README example
2015-11-08 14:29:52 +09:00
Patrick Connelly
bb470b23fa clarify README example 2015-11-07 23:19:17 -05:00
Eitaro Fukamachi
6abe0323ab Merge pull request #14 from mtstickney/fix_session_leak
Don't leak sessions when changing session id.
2015-10-10 05:28:29 +09:00