on master help sign in
Better user agent.
commit1a318fa8507b889b45da0ef79f15d33a812a8cc8 authoriko <ilyakooo0@gmail.com> dateSat 11 May 2019, 12:40 (7 years ago) parent7cd91e8
1 file changed+11−1
denis/src/Server/Auth.hs+11−1
denis/src/Server/Auth.hs+11−1
@@ -221,7 +221,17 @@ register creation' ua' = do
221221 Nothing -> throwError err500
222222
223223getUserAgent :: Maybe String -> T.Text
224−getUserAgent = fromMaybe "Unknown" . fmap osrFamily . join . fmap parseOS . fmap C.pack
224+getUserAgent uaData' = fromMaybe "Unknown" $ do
225+ uaData <- fmap C.pack uaData'
226+ let os = osrFamily <$> parseOS uaData
227+ let browser = uarFamily <$> parseUA uaData
228+ foldl mappendMaybe Nothing $ [os, browser]
229+ where
230+ mappendMaybe :: (Semigroup a) => Maybe a -> Maybe a -> Maybe a
231+ mappendMaybe Nothing (Just a) = Just a
232+ mappendMaybe (Just a) Nothing = Just a
233+ mappendMaybe (Just a) (Just b) = Just (a <> b)
234+ mappendMaybe Nothing Nothing = Nothing
225235
226236normalizaUser :: UserCreation -> UserCreation
227237normalizaUser (UserCreation fName mName lName faculty email) =