Commit Graph

365 Commits

Author SHA1 Message Date
Michael Snoyman
ed53b20308 Merge yesod-json functionality into yesod-core (closes #487) 2013-02-12 15:42:45 +02:00
Michael Snoyman
d167842839 Version bumps, http-types 0.8 2013-01-29 10:33:14 +02:00
Michael Snoyman
3786362300 Add Failure instance for GHandler 2013-01-27 19:04:18 +02:00
Felipe Lessa
9829e949c2 yesod-core: Bump version to 1.1.7.2. 2013-01-25 14:05:35 -02:00
Felipe Lessa
991f937b39 Use resolveApproot on runFakeHandler. 2013-01-25 13:55:41 -02:00
Michael Snoyman
f78559d7ed Remove deprecated Yesod.Widget functions (fixes #469) 2013-01-15 11:23:21 +02:00
Michael Snoyman
91f98c480e Removed instance Exception ErrorResponse 2013-01-15 11:12:25 +02:00
Michael Snoyman
617c1d724e Removed some FIXMEs 2013-01-02 14:26:56 +02:00
Michael Snoyman
cb2491de04 Version bump 2013-01-01 11:18:27 +02:00
Michael Snoyman
bd05541df4 Limit request body sizes for chunked bodies 2013-01-01 11:18:07 +02:00
Michael Snoyman
bf293e6a1f Make new session code optional, keep old API 2012-12-26 19:00:45 +02:00
Michael Snoyman
f4674f9465 Merge branch 'faster-session' of https://github.com/meteficha/yesod 2012-12-26 18:19:22 +02:00
Michael Snoyman
9624d4bf66 Add error logging for all internal server errors (#335) 2012-12-26 16:41:24 +02:00
Michael Snoyman
054340ec10 Version bumps 2012-11-28 09:47:01 +02:00
Michael Snoyman
0c4ded0fd1 Slightly more efficient header construction 2012-11-25 21:45:08 +02:00
David L. L. Thomas
513d6ed4f9 Bugfix - Caching redirect *only* for 301 redirects
Previous commit got it backwards.
2012-11-25 11:12:39 -08:00
David L. L. Thomas
246a024dce Allowing cache on 301 redirects 2012-11-23 13:44:31 -08:00
David L. L. Thomas
a2ad8fe704 Prevent caching of redirect
Dynamic redirects shouldn't be cached.  This especially causes a problem
with redirection to the login page, since trying to actually access the
page the user logged in to see can get them redirected back to the login
page on some browsers.

This patch adds headers to prevent caching of all redirects, which isn't
ideal, but better than allowing caching of all of them.
2012-11-21 22:39:53 -08:00
Michael Snoyman
d37b0634a5 Added yesodMiddleware method 2012-11-21 10:58:45 +02:00
Michael Snoyman
053210da6f shakespeare-js 1.0.2 and 1.1 2012-11-16 09:27:31 +02:00
Michael Snoyman
e43bc22c39 Version bumps 2012-11-13 09:52:21 +02:00
Michael Snoyman
a598846bd3 Better formatting of error messages 2012-11-12 11:24:32 +02:00
Michael Snoyman
21090b9314 Version bumps 2012-11-11 10:08:37 +02:00
Michael Snoyman
d40da67656 Remove hspec upper bound 2012-11-09 09:12:32 +02:00
Michael Snoyman
ae8168ede5 Added extra explanation from Felipe 2012-11-07 14:49:11 +02:00
Michael Snoyman
a144b56928 Warning about fork vs resourceForkIO 2012-11-07 14:35:31 +02:00
Michael Snoyman
ed5e65ae95 Merge branch 'master' of https://github.com/piyush-kurur/yesod 2012-11-07 14:05:18 +02:00
Piyush P Kurur
e32f37eadd refactored mkYesodGeneral to use mkDispatchInstance 2012-11-07 16:51:25 +05:30
Michael Snoyman
1c7e4c6f1a Version bumps 2012-11-07 12:07:32 +02:00
Piyush P Kurur
30ddc17384 yesod-core: generic dispatch instance generation fixes #427 partially. 2012-10-26 15:23:54 +05:30
Simon Hengel
dfae661878 Adept Hspec tests for forward compatibility
* Don't use hspecX, it's deprecated.

 * Do not import Test.Hspec.HUnit.  It's no longer necessary and may be
   removed in the future.
2012-10-16 14:44:58 +02:00
Michael Snoyman
4a6bdc0db7 Version bumps 2012-10-15 08:58:01 +02:00
Michael Snoyman
ae23dee4ab Include level in source 2012-10-13 22:40:03 +02:00
Michael Snoyman
01b855969b CssBuilder 2012-10-11 07:35:25 +02:00
Michael Snoyman
57b8748a3d lifted-base 0.2 2012-10-11 06:41:14 +02:00
Michael Snoyman
45e54ff2bb vector 0.10 2012-10-04 16:44:13 +02:00
Michael Snoyman
e28f330711 path-pieces dependency bump 2012-09-29 22:29:17 +02:00
Michael Snoyman
a30cc74087 Export log*S (#405) 2012-09-23 13:44:04 +02:00
Michael Snoyman
34f2942c54 Add deprecation for messageLogger (#405) 2012-09-21 17:15:21 +03:00
Michael Snoyman
7bd06e9b7b LogSource (#405) 2012-09-21 15:01:07 +03:00
Michael Snoyman
cf4fed8cb9 Precede null path segments with dashes (#421) 2012-09-21 14:23:38 +03:00
Michael Snoyman
a6ce05609d Version bumps 2012-09-11 07:17:23 +03:00
Felipe Lessa
b2a9beba3c Use a cache for session cookie's expiration time.
The following HelloWorld app was used as benchmark:

  data HelloWorld = HelloWorld
  mkYesod "HelloWorld" [parseRoutes|
    / HomeR GET
  |]

  instance Yesod HelloWorld where
    -- makeSessionBackend = const $ return Nothing

  getHomeR = return . RepPlain . toContent $ "Hello World!"

  main :: IO ()
  main = warp 8080 HelloWorld

The benchmark was tested with httperf under the following
environments:

  [vanilla-nosession] Released yesod-core 1.1.1.1, but without sessions.

  [vanilla-session] Released yesod-core 1.1.1.1 (with sessions).

  [faster-session-1] With patch 065e33a, "Faster, leaner
  implementation of putTime/getTime".

  [faster-session-2] With this commit.

Performance results:

  A) Testing with:
       httperf --hog --client=0/1 --server=localhost \
               --port=8080 --uri=/ --rate=1000 \
               --send-buffer=4096 --recv-buffer=16384 \
               --num-conns=100 --wsess=1000,60,1 \
               --burst-length=20 --session-cookie

     Results:
       vanilla-nosession: 19187.7 req/s (0.1 ms/req)
       vanilla-session:    2523.3 req/s (0.4 ms/req)
       faster-session-1:   2933.5 req/s (0.3 ms/req)
       faster-session-2:   2957.5 req/s (0.3 ms/req)

     This test benchmarks both saving and loading the session.
     Interestingly, this commit provides only a small performance
     increase.

  B) Testing with:
       httperf --hog --client=0/1 --server=localhost \
               --port=8080 --uri=/ --rate=1000 \
               --send-buffer=4096 --recv-buffer=16384 \
               --num-conns=100 --num-calls=1000 \
               --burst-length=20

     Results:
       vanilla-nosession: 43548.7 req/s (0.0 ms/req)
       vanilla-session:    3609.4 req/s (0.3 ms/req)
       faster-session-1:   3454.9 req/s (0.3 ms/req)
       faster-session-2:   3786.9 req/s (0.3 ms/req)

     This test benchmarks only saving the session.  Strangely,
     faster-session-1 was worse than vanilla-session (while
     isolated tests show that the new putTime should be +70x
     faster).  However, there is a non-negligible performance
     increase on faster-session-2.
2012-09-05 01:35:10 -03:00
Felipe Lessa
065e33a3d1 Faster, leaner implementation of putTime/getTime.
Benchmark on my computer (per call, includes runPut/runGet):

    old putTime: 5658 ns +/- 224ns
    new putTime:  821 ns +/-  24ns (7x faster)

    old getTime: 7228 ns +/- 126ns
    new getTime:   99 ns +/-   4ns (73x faster!!)

Besides, the old format used 25 raw bytes (33.3 bytes on the
base64 output), while the new one uses 8 bytes (10.6 bytes on the
base64 output).
2012-09-05 00:41:54 -03:00
Felipe Lessa
865281d241 yesod-core: Bump version to 1.1.1.1.
Where do I redeem my prize?
2012-08-27 14:50:11 -03:00
Felipe Lessa
0d95e6917d yesod-core: Whitespace. 2012-08-27 14:50:04 -03:00
Felipe Lessa
5b19865c7a yesod-core: In handlerToIO, really avoid keeping old handler data in memory. 2012-08-27 10:20:17 -03:00
Felipe Lessa
20f51e38e2 yesod-core: Doc improvements for runFakeHandler. 2012-08-21 13:38:49 -03:00
Felipe Lessa
0346dab14c yesod-core: New function runFakeHandler. 2012-08-21 13:38:42 -03:00
Felipe Lessa
dc14783c81 yesod-core: On handlerToIO, avoid 'sourceList []'. 2012-08-20 13:13:46 -03:00
Felipe Lessa
786b5bc6e2 yesod-core: On handlerToIO's docs, avoid shadowing a name. 2012-08-20 13:09:43 -03:00
Felipe Lessa
60046bad96 yesod-core: New handlerToIO function. 2012-08-20 13:07:58 -03:00
Michael Snoyman
2e87e13347 Filter missing files (#403) 2012-08-12 17:36:26 +03:00
Michael Snoyman
df5018a94c hspec 1.3 2012-08-03 15:40:36 +03:00
Michael Snoyman
da33be529d Deprecated addWidget 2012-08-03 07:38:21 +03:00
Michael Snoyman
b0c6651ac6 Strictness annotations on Content 2012-07-25 08:56:46 +03:00
Michael Snoyman
c009067b11 DontFullyEvaluate (Felipe's code) 2012-07-25 08:54:43 +03:00
Michael Snoyman
f91ff4fde2 fullyEvaluateBody 2012-07-24 17:49:17 +03:00
Michael Snoyman
33c39662b9 Reflect wai changes for #262 2012-07-11 15:58:36 +03:00
Michael Snoyman
fffb3028c9 Export FileUpload (#262) 2012-07-09 15:11:24 +03:00
Michael Snoyman
288f3b36eb fast-logger/monad-logger 0.2 2012-07-09 14:14:45 +03:00
Michael Snoyman
f3a3408260 http-types 0.7 2012-07-06 16:24:24 +03:00
Michael Snoyman
29c242d03b monad-logger 2012-07-05 16:14:23 +03:00
Michael Snoyman
ddd1059983 Updated fast-logger/wai-logger 2012-07-05 11:04:04 +03:00
Michael Snoyman
9fdb8c9d2d Field names for GWData 2012-07-04 17:53:47 +03:00
Michael Snoyman
7c4d6b5e47 Javascript in Head (#380) 2012-07-04 17:53:24 +03:00
Michael Snoyman
d38e9a8c0a FileUploadSource (#262) 2012-07-02 11:21:02 +03:00
Michael Snoyman
7efbab8846 Explicit exports for FileInfo fields 2012-07-02 11:20:17 +03:00
Michael Snoyman
8fac4917b5 FileUpload (#358) 2012-07-02 11:15:02 +03:00
Michael Snoyman
e8fb512107 Allow sitewide hamlet changes (#377) 2012-07-02 09:37:56 +03:00
Michael Snoyman
3ecbf43f5d $newline 2012-07-01 20:59:37 +03:00
Michael Snoyman
d465d30863 Remove some blaze conditionals 2012-06-26 22:54:12 +03:00
Michael Snoyman
4a6e027d29 maximumContentLength is Word64 (#365) 2012-06-26 22:52:56 +03:00
Michael Snoyman
014732dac8 hspec 1.2 2012-06-26 10:56:50 +03:00
Michael Snoyman
ebc737a5cb conduit 0.5 2012-06-22 15:28:14 +03:00
Michael Snoyman
61b5627e44 Version bumps 2012-05-14 12:33:44 +03:00
Michael Snoyman
d0a7447f56 Remove containers upper bounds 2012-05-09 10:25:19 +03:00
Michael Snoyman
468b013860 Turn on blaze-html 0.5 by default 2012-05-09 09:50:37 +03:00
Simon Hengel
653ffd02fb yesod-core: Adapt tests for hspec-1.1
This is not strictly necessary, the `UnevaluatedSpec` is merely
deprecated.  But it is a good idea anyway.
2012-05-07 07:43:28 +02:00
Mark Wright
9f4c92f181 yesod-core changes for hspec 1.0 2012-05-06 12:18:49 +10:00
Michael Snoyman
e18c678aed Remove upper bounds on bytestring (yesodweb/shakespeare#60) 2012-04-29 09:38:45 +03:00
Michael Snoyman
20015aa6ee Update license with MIT license 2012-04-29 09:38:45 +03:00
Michael Snoyman
12f530a1e7 Remove ghc7 flag (#322) 2012-04-25 17:20:38 +03:00
Felipe Lessa
68001ed057 Fix a fixme comment. 2012-04-24 09:55:47 -03:00
Michael Snoyman
4bb2c33bfe yesod-core for blaze-html 0.5 2012-04-23 11:12:02 +03:00
Michael Snoyman
a4920c46ca Version bumps 2012-04-19 07:57:43 +03:00
Mark Wright
f7b0f6ce12 Include missing test files and sort the list of test files 2012-04-16 21:10:52 +10:00
Michael Snoyman
74a826fbb4 clearSession 2012-04-10 18:56:30 +03:00
gregwebs
ba4cd002e1 documentation cleanup 2012-04-09 05:54:53 -07:00
Anton
09c461dd89 add additional documentation for language function 2012-04-09 14:02:09 +06:00
Michael Snoyman
285c3497f4 Version bump 2012-04-09 10:16:06 +03:00
Michael Snoyman
4ac413e419 Configurable session name 2012-04-07 23:01:29 +03:00
Michael Snoyman
f8c41eb5ac Doc fix 2012-04-05 22:39:39 +03:00
Michael Snoyman
43d938bbe7 Switch from BSD3 to MIT 2012-04-03 10:45:51 +03:00
Michael Snoyman
742ffa4d14 Automatically apply toWidget to ^{} interpolations 2012-04-03 08:07:57 +03:00
Michael Snoyman
fc29c153ed Removed dates from version numbers 2012-04-03 07:57:43 +03:00
Luite Stegeman
396644081c make SessionBackend more flexible 2012-03-31 01:36:44 +02:00
Michael Snoyman
37ad3c045b Merge remote-tracking branch 'origin/master'
Conflicts:
	yesod-test/yesod-test.cabal
2012-03-29 07:47:38 +02:00
Michael Snoyman
25ec577449 transformers 0.3 2012-03-28 16:23:00 +02:00
Michael Snoyman
4cc933b21a conduit 0.4 2012-03-28 07:19:58 +02:00