s3-signer-0.2.0.0: src/Network/S3/Types.hs
{-# LANGUAGE DeriveGeneric #-}
module Network.S3.Types
( S3URL (..)
, S3Keys (..)
, S3Method (..)
, S3Request (..)
) where
import Data.ByteString.UTF8 (ByteString)
import GHC.Generics (Generic)
newtype S3URL = S3URL {
signedRequest :: ByteString -- ^ Generated URL
} deriving (Generic, Show)
data S3Keys = S3Keys {
publicKey :: ByteString -- ^ AWS Public Key
, secretKey :: ByteString -- ^ AWS Private Key
} deriving (Generic, Show)
data S3Method = S3GET -- ^ GET Request
| S3PUT -- ^ PUT Request
deriving (Generic, Show)
data S3Request = S3Request {
s3method :: S3Method -- ^ Type of HTTP Method
, mimeType :: ByteString -- ^ MIME Type
, bucketName :: ByteString -- ^ Name of Amazon S3 Bucket
, objectName :: ByteString -- ^ Name of Amazon S3 File
, secondsToExpire :: Integer -- ^ Number of seconds until expiration
} deriving (Generic, Show)