Hello community, here is the log from the commit of package ghc-wai-logger for openSUSE:Factory checked in at 2016-10-22 13:20:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-wai-logger (Old) and /work/SRC/openSUSE:Factory/.ghc-wai-logger.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-wai-logger" Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-wai-logger/ghc-wai-logger.changes 2016-07-20 09:20:26.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.ghc-wai-logger.new/ghc-wai-logger.changes 2016-10-22 13:20:53.000000000 +0200 @@ -1,0 +2,5 @@ +Thu Sep 15 06:51:07 UTC 2016 - [email protected] + +- Update to version 2.3.0 revision 0 with cabal2obs. + +------------------------------------------------------------------- Old: ---- wai-logger-2.2.7.tar.gz New: ---- wai-logger-2.3.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-wai-logger.spec ++++++ --- /var/tmp/diff_new_pack.Mx5aw0/_old 2016-10-22 13:20:54.000000000 +0200 +++ /var/tmp/diff_new_pack.Mx5aw0/_new 2016-10-22 13:20:54.000000000 +0200 @@ -19,15 +19,14 @@ %global pkg_name wai-logger %bcond_with tests Name: ghc-%{pkg_name} -Version: 2.2.7 +Version: 2.3.0 Release: 0 Summary: A logging system for WAI License: MIT -Group: System/Libraries +Group: Development/Languages/Other Url: https://hackage.haskell.org/package/%{pkg_name} Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz BuildRequires: ghc-Cabal-devel -# Begin cabal-rpm deps: BuildRequires: ghc-blaze-builder-devel BuildRequires: ghc-byteorder-devel BuildRequires: ghc-bytestring-devel @@ -43,7 +42,6 @@ %if %{with tests} BuildRequires: ghc-doctest-devel %endif -# End cabal-rpm deps %description A logging system for WAI. @@ -62,20 +60,14 @@ %prep %setup -q -n %{pkg_name}-%{version} - %build %ghc_lib_build - %install %ghc_lib_install - %check -%if %{with tests} -%{cabal} test -%endif - +%cabal_test %post devel %ghc_pkg_recache ++++++ wai-logger-2.2.7.tar.gz -> wai-logger-2.3.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wai-logger-2.2.7/Network/Wai/Logger/Apache.hs new/wai-logger-2.3.0/Network/Wai/Logger/Apache.hs --- old/wai-logger-2.2.7/Network/Wai/Logger/Apache.hs 2016-04-18 07:47:40.000000000 +0200 +++ new/wai-logger-2.3.0/Network/Wai/Logger/Apache.hs 2016-07-04 09:27:04.000000000 +0200 @@ -3,6 +3,7 @@ module Network.Wai.Logger.Apache ( IPAddrSource(..) , apacheLogStr + , serverpushLogStr ) where #ifndef MIN_VERSION_base @@ -72,6 +73,32 @@ mua = lookup "user-agent" $ requestHeaders req #endif +-- | HTTP/2 Push log format in the Apache style. +serverpushLogStr :: IPAddrSource -> FormattedTime -> Request -> ByteString -> Integer -> LogStr +serverpushLogStr ipsrc tmstr req path size = + toLogStr (getSourceIP ipsrc req) + <> " - - [" + <> toLogStr tmstr + <> "] \"PUSH " + <> toLogStr path + <> " HTTP/2\" 200 " + <> toLogStr (show size) + <> " \"" + <> toLogStr ref + <> "\" \"" + <> toLogStr (fromMaybe "" mua) + <> "\"\n" + where + ref = rawPathInfo req +#if !MIN_VERSION_base(4,5,0) + (<>) = mappend +#endif +#if MIN_VERSION_wai(3,2,0) + mua = requestHeaderUserAgent req +#else + mua = lookup "user-agent" $ requestHeaders req +#endif + -- getSourceIP = getSourceIP fromString fromByteString getSourceIP :: IPAddrSource -> Request -> ByteString diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wai-logger-2.2.7/Network/Wai/Logger.hs new/wai-logger-2.3.0/Network/Wai/Logger.hs --- old/wai-logger-2.2.7/Network/Wai/Logger.hs 2016-04-18 07:47:40.000000000 +0200 +++ new/wai-logger-2.3.0/Network/Wai/Logger.hs 2016-07-04 09:27:04.000000000 +0200 @@ -34,8 +34,13 @@ -- * High level functions ApacheLogger , withStdoutLogger + , ServerPushLogger -- * Creating a logger - , ApacheLoggerActions(..) + , ApacheLoggerActions + , apacheLogger + , serverpushLogger + , logRotator + , logRemover , initLogger -- * Types , IPAddrSource(..) @@ -56,6 +61,7 @@ #endif import Control.Exception (bracket) import Control.Monad (void) +import Data.ByteString (ByteString) import Network.HTTP.Types (Status) import Network.Wai (Request) import System.Log.FastLogger @@ -85,12 +91,19 @@ -- | Apache style logger. type ApacheLogger = Request -> Status -> Maybe Integer -> IO () +-- | HTTP/2 server push logger in Apache style. +type ServerPushLogger = Request -> ByteString -> Integer -> IO () + +-- | Function set of Apache style logger. data ApacheLoggerActions = ApacheLoggerActions { + -- | The Apache logger. apacheLogger :: ApacheLogger + -- | The HTTP/2 server push logger. + , serverpushLogger :: ServerPushLogger -- | This is obsoleted. Rotation is done on-demand. -- So, this is now an empty action. , logRotator :: IO () - -- | Removing resources relating Apache logger. + -- | Removing resources relating to Apache logger. -- E.g. flushing and deallocating internal buffers. , logRemover :: IO () } @@ -102,7 +115,12 @@ -> IO ApacheLoggerActions initLogger ipsrc typ tgetter = do (fl, cleanUp) <- newFastLogger typ - return $ ApacheLoggerActions (apache fl ipsrc tgetter) (return ()) cleanUp + return $ ApacheLoggerActions { + apacheLogger = apache fl ipsrc tgetter + , serverpushLogger = serverpush fl ipsrc tgetter + , logRotator = return () + , logRemover = cleanUp + } --- | Checking if a log file can be written if 'LogType' is 'LogFileNoRotate' or 'LogFile'. logCheck :: LogType -> IO () @@ -120,6 +138,11 @@ zdata <- dateget cb (apacheLogStr ipsrc zdata req st mlen) +serverpush :: (LogStr -> IO ()) -> IPAddrSource -> IO FormattedTime -> ServerPushLogger +serverpush cb ipsrc dateget req path size = do + zdata <- dateget + cb (serverpushLogStr ipsrc zdata req path size) + --------------------------------------------------------------- -- | Getting cached 'ZonedDate'. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wai-logger-2.2.7/wai-logger.cabal new/wai-logger-2.3.0/wai-logger.cabal --- old/wai-logger-2.2.7/wai-logger.cabal 2016-04-18 07:47:40.000000000 +0200 +++ new/wai-logger-2.3.0/wai-logger.cabal 2016-07-04 09:27:04.000000000 +0200 @@ -1,5 +1,5 @@ Name: wai-logger -Version: 2.2.7 +Version: 2.3.0 Author: Kazu Yamamoto <[email protected]> Maintainer: Kazu Yamamoto <[email protected]> License: BSD3
