web: Put session file in $XDG_DATA_DIR. (#1344)
* web: Put session file in $XDG_DATA_DIR. * web: Use $XDG_CACHE_HOME instead of $XDG_DATA_HOME. * web: Force minimum version of directory (needed for xdg utilities). * web: Cancel changes to hledger-web.cabal Co-authored-by: Félix Sipma <felix.sipma@no-log.org>
This commit is contained in:
		
							parent
							
								
									8e1b5e784b
								
							
						
					
					
						commit
						1dfc7e1116
					
				| @ -31,7 +31,9 @@ import Data.Time.Calendar (Day) | |||||||
| import Network.HTTP.Conduit (Manager) | import Network.HTTP.Conduit (Manager) | ||||||
| import Network.HTTP.Types (status403) | import Network.HTTP.Types (status403) | ||||||
| import Network.Wai (requestHeaders) | import Network.Wai (requestHeaders) | ||||||
| import System.FilePath (takeFileName) | import System.Directory (XdgDirectory (..), createDirectoryIfMissing, | ||||||
|  |                          getXdgDirectory) | ||||||
|  | import System.FilePath (takeFileName, (</>)) | ||||||
| import Text.Blaze (Markup) | import Text.Blaze (Markup) | ||||||
| import Text.Hamlet (hamletFile) | import Text.Hamlet (hamletFile) | ||||||
| import Yesod | import Yesod | ||||||
| @ -100,9 +102,11 @@ type Form x = Html -> MForm (HandlerT App IO) (FormResult x, Widget) | |||||||
| instance Yesod App where | instance Yesod App where | ||||||
|   approot = ApprootMaster $ appRoot . settings |   approot = ApprootMaster $ appRoot . settings | ||||||
| 
 | 
 | ||||||
|   makeSessionBackend _ = |   makeSessionBackend _ = do | ||||||
|  |     hledgerdata <- getXdgDirectory XdgCache "hledger" | ||||||
|  |     createDirectoryIfMissing True hledgerdata | ||||||
|     let sessionexpirysecs = 120 |     let sessionexpirysecs = 120 | ||||||
|     in  Just <$> defaultClientSessionBackend sessionexpirysecs ".hledger-web_client_session_key.aes" |     Just <$> defaultClientSessionBackend sessionexpirysecs (hledgerdata </> "hledger-web_client_session_key.aes") | ||||||
| 
 | 
 | ||||||
|   -- defaultLayout :: WidgetFor site () -> HandlerFor site Html |   -- defaultLayout :: WidgetFor site () -> HandlerFor site Html | ||||||
|   defaultLayout widget = do |   defaultLayout widget = do | ||||||
|  | |||||||
| @ -115,7 +115,7 @@ library: | |||||||
|   - containers |   - containers | ||||||
|   - data-default |   - data-default | ||||||
|   - Decimal >=0.5.1 |   - Decimal >=0.5.1 | ||||||
|   - directory |   - directory >=1.2.3.0 | ||||||
|   - extra >=1.6.3 |   - extra >=1.6.3 | ||||||
|   - filepath |   - filepath | ||||||
|   - hjsmin |   - hjsmin | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user