34 lines
810 B
Haskell
34 lines
810 B
Haskell
-- SPDX-FileCopyrightText: 2022 Gregor Kleen <gregor.kleen@ifi.lmu.de>
|
|
--
|
|
-- SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
module Handler.Upload
|
|
( putUploadR
|
|
) where
|
|
|
|
import Import
|
|
|
|
|
|
data UploadResponse
|
|
= UploadResponseNoToken
|
|
deriving (Eq, Ord, Show, Generic)
|
|
|
|
deriveJSON defaultOptions
|
|
{ tagSingleConstructors = True
|
|
, allNullaryToStringTag = False
|
|
, constructorTagModifier = camelToPathPiece' 2
|
|
} ''UploadResponse
|
|
|
|
|
|
putUploadR :: Handler TypedContent
|
|
putUploadR = do
|
|
resp <- exceptT return return $ do
|
|
_uploadToken <- decodeUploadToken <=< maybeExceptT UploadResponseNoToken $ lookupCustomHeader HeaderUploadToken
|
|
|
|
error "not implemented"
|
|
|
|
selectRep $ do
|
|
provideRep . return $ toPrettyJSON resp
|
|
provideRep . return $ toJSON resp
|
|
provideRep . return $ toYAML resp
|