Commit Graph

478 Commits

Author SHA1 Message Date
Michael Snoyman
15bbd54e12 Some cleanup 2013-03-14 10:23:57 +02:00
Michael Snoyman
9c4cd573b4 Everything compiles 2013-03-14 09:28:51 +02:00
Michael Snoyman
3df45ac1c7 Another whitespace fix for tests 2013-03-14 07:38:24 +02:00
Michael Snoyman
55d13c62a6 whitespace fix for tests 2013-03-14 07:36:09 +02:00
Michael Snoyman
0f1637a1aa Implemented rawRequestBody 2013-03-14 07:35:09 +02:00
Michael Snoyman
8e793c70cc Compiles again, tests fails 2013-03-14 07:32:40 +02:00
Michael Snoyman
c466845095 More incomplete changes 2013-03-14 05:58:37 +02:00
Michael Snoyman
553dff7bd2 Incomplete change: GWidget/GHandler->WidgetT/HandlerT 2013-03-14 05:00:16 +02:00
Michael Snoyman
099b96f178 Everything compiles 2013-03-13 13:35:11 +02:00
Michael Snoyman
4bdd01ef58 Simplified GHandler/GWidget 2013-03-13 10:59:10 +02:00
Michael Snoyman
fc6551c650 defaultLayoutT 2013-03-13 10:15:47 +02:00
Michael Snoyman
5de675b45c Added missing test file 2013-03-13 09:17:40 +02:00
Michael Snoyman
0633d0b259 Beginning of subsite TH overhaul 2013-03-13 09:14:24 +02:00
Michael Snoyman
2aefef4414 YesodSubDispatch 2013-03-13 08:48:28 +02:00
Michael Snoyman
e928991410 Include a proper subsite test 2013-03-13 08:14:01 +02:00
Michael Snoyman
9a53092be7 Remove yreRoute 2013-03-13 07:20:20 +02:00
Michael Snoyman
815e185a4b Slight simplification to YesodDispatch typeclass 2013-03-13 07:12:19 +02:00
Michael Snoyman
0a54826157 Simplified SessionBackend 2013-03-12 16:29:48 +02:00
Michael Snoyman
cf3fe53cd4 Initial HandlerT 2013-03-12 16:14:29 +02:00
Michael Snoyman
a2d26e096d Move session header logic to yarToResponse 2013-03-12 10:41:17 +02:00
Michael Snoyman
77f41a18dd Removed localNoCurrent for error handling 2013-03-12 10:33:02 +02:00
Michael Snoyman
062efc9ae3 More code movement 2013-03-12 10:30:34 +02:00
Michael Snoyman
845258e544 Removed some dead code 2013-03-12 10:26:43 +02:00
Michael Snoyman
04a034770b Beginning of a dispatch overhaul 2013-03-12 10:21:26 +02:00
Michael Snoyman
9873b4d8f3 Moved code around some more 2013-03-12 05:49:24 +02:00
Michael Snoyman
db57468832 Version bumps 2013-03-11 12:07:10 +02:00
Michael Snoyman
e2cd292877 yesod-auth doesn't use redirects for JSON requests (fixes #479) 2013-03-11 11:37:45 +02:00
Michael Snoyman
8246aa4c1e Whole repo compiles 2013-03-11 11:25:26 +02:00
Michael Snoyman
2af304bd7f Provide JSON reps for default error message handler (fixes #478) 2013-03-11 11:10:00 +02:00
Michael Snoyman
f3f55a1ecd RepHtml is a synonym for Html 2013-03-11 10:54:26 +02:00
Michael Snoyman
1d0cac6e03 TypedContent 2013-03-11 10:45:01 +02:00
Michael Snoyman
d2f5ca449d selectRep/provideRep API 2013-03-11 09:08:34 +02:00
Michael Snoyman
81ec09bf63 Some more rearranging 2013-03-11 07:29:43 +02:00
Michael Snoyman
e673c1f35e Removed some subsite stuff 2013-03-11 07:23:30 +02:00
Michael Snoyman
2c2ee10dd7 Converted Yesod.Handler to typeclasses 2013-03-11 07:08:03 +02:00
Michael Snoyman
8f8e986839 Started on the Handler typeclasses 2013-03-11 06:00:50 +02:00
Michael Snoyman
8d5f207c8d Removed Yesod.Internal.TestApi 2013-03-10 15:21:54 +02:00
Michael Snoyman
5c4ddfad6c Removed Yesod.Internal 2013-03-10 15:18:58 +02:00
Michael Snoyman
9559c2a345 Typeable-based cache implementation (#268) 2013-03-10 15:05:40 +02:00
Michael Snoyman
1a5793e2b9 Removed Yesod.Request 2013-03-10 14:38:52 +02:00
Michael Snoyman
070e0aa8b3 Make RandomGen parameter optional 2013-03-10 14:34:00 +02:00
Michael Snoyman
5b5203a275 Removed yepnope 2013-03-10 14:20:39 +02:00
Michael Snoyman
0e2fee8da3 Removed messageLogger 2013-03-10 14:17:53 +02:00
Michael Snoyman
0c4643422c safeEh logs properly 2013-03-10 14:14:44 +02:00
Michael Snoyman
1b8a1b9d42 Removed unneeded conditional 2013-03-10 14:04:45 +02:00
Michael Snoyman
ee01aaf268 Better error handling and auth checking 2013-03-10 14:03:10 +02:00
Michael Snoyman
dc79ddecd9 Auth tests 2013-03-10 13:48:26 +02:00
Michael Snoyman
7e2338aaa1 Unified some datatypes 2013-03-10 13:33:52 +02:00
Michael Snoyman
4ece5fafd9 Removed handlerToYAR 2013-03-10 13:24:23 +02:00
Michael Snoyman
e4683ed001 .Class and .Run modules 2013-03-10 12:56:32 +02:00
Michael Snoyman
1bd193f642 Initial YesodRequest/YesodRespnse change 2013-03-10 11:58:29 +02:00
Michael Snoyman
4f1a6b461e BackendSession => SessionMap 2013-03-10 11:13:19 +02:00
Michael Snoyman
98613278d4 Yesod.Core.Types created, but it's a mess 2013-03-10 11:02:53 +02:00
Michael Snoyman
20091656aa Make Felipe's session code the default (#415) 2013-03-10 10:08:20 +02:00
Michael Snoyman
2377d70ec8 Merge branch 'master' into yesod1.2
Conflicts:
	yesod-json/yesod-json.cabal
2013-03-10 09:49:28 +02:00
Michael Snoyman
afd700753c Use RequestBodyLength 2013-03-10 05:26:34 +02:00
Michael Snoyman
eda98f96db Merge remote-tracking branch 'origin/master' into yesod1.2
Conflicts:
	yesod-core/yesod-core.cabal
	yesod-json/yesod-json.cabal
2013-03-10 05:10:13 +02:00
Michael Snoyman
459e5c29bf blaze-html 0.6 2013-02-18 18:15:05 +02:00
Michael Snoyman
a73cac167e wai 1.4 2013-02-18 12:39:20 +02:00
Michael Snoyman
551b9d7c1e Version bumps 2013-02-18 07:02:08 +02:00
Michael Snoyman
a1734e0e18 conduit 1.0 support 2013-02-13 11:45:50 +02:00
Michael Snoyman
8eb898931a Merge branch 'master' into yesod1.2 2013-02-12 16:59:40 +02:00
Michael Snoyman
23ee947ba1 IsContent instance for ResumableSource #466 2013-02-12 15:49:59 +02:00
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