liblastfm-0.1.1.2: Lastfm API interface

Safe HaskellNone

Network.Lastfm.Request

Contents

Description

Request construction

Synopsis

Request

data Request f a t Source

Lastfm API request data type

a is authentication state. Might be Send which indicates that you may send this request already or Sign, when request signature isn't computed yet

f is response format. liblastfm currently supports JSON or XML

Instances

data R f a t Source

Lastfm API request data type

low-level representation

Instances

Coercing (R f) 
Serialize (R f a t) 

data Auth Source

Authentication method

Constructors

Send

Public API. Doesn't require anything special besides API key

Sign

Private API. Requires Session key and Secret as well as API key

data Format Source

Response format: either JSON or XML

Constructors

JSON 
XML 

Request major parameters

api :: Text -> Request f a tSource

Change request API method

Primarily used in API call wrappers, not intended for usage by library user

post :: Request f a tSource

Change html _method to POST

Primarily used in API call wrappers, not intended for usage by library user

get :: Request f a tSource

Change html _method to GET

Primarily used in API call wrappers, not intended for usage by library user

json :: Request JSON a tSource

Change API response format to JSON

This is a little helper. It's actually enough to specialize Format manually

xml :: Request XML a tSource

Change API response format to XML

This is a little helper. It's actually enough to specialize Format manually

data Ready Source

Indicates that request is ready for sending

apiKey :: Text -> Request f a APIKeySource

Change request API key

sessionKey :: Text -> Request f Sign SessionKeySource

Change request session key

Request minor parameters

token :: Text -> Request f a TokenSource

Add token parameter

callback :: Text -> Request f a CallbackSource

Add callback link parameter

artist :: Text -> Request f a ArtistSource

Add artist parameter

artists :: [Text] -> Request f a [Artist]Source

Add artist parameter

album :: Text -> Request f a AlbumSource

Add artist parameter

mbid :: Text -> Request f a MBIDSource

Add MBID parameter

country :: Text -> Request f a CountrySource

Add country parameter

autocorrect :: Bool -> Request f a AutocorrectSource

Add autocorrect parameter

event :: Int64 -> Request f a EventSource

Add event parameter

status :: Status -> Request f a StatusSource

Add status parameter

from :: Int64 -> Request f a FromSource

Add from parameter

data To Source

to :: Int64 -> Request f a ToSource

Add to parameter

group :: Text -> Request f a GroupSource

Add group parameter

language :: Text -> Request f a LanguageSource

Add language parameter

distance :: Int64 -> Request f a DistanceSource

Add distance parameter

longitude :: Text -> Request f a LongitudeSource

Add longitude parameter

latitude :: Text -> Request f a LatitudeSource

Add latitude parameter

location :: Text -> Request f a LocationSource

Add location parameter

start :: Int64 -> Request f a StartSource

Add start parameter

data End Source

end :: Int64 -> Request f a EndSource

Add end parameter

festivalsonly :: Bool -> Request f a FestivalsSource

Add festivalsonly parameter

startTimestamp :: Int64 -> Request f a StartTimestampSource

Add startTimestamp parameter

endTimestamp :: Int64 -> Request f a EndTimestampSource

Add endTimestamp parameter

metro :: Text -> Request f a MetroSource

Add metro parameter

data Tag Source

tags :: [Text] -> Request f a [Tag]Source

Add tags parameter

tag :: Text -> Request f a TagSource

Add tag parameter

track :: Text -> Request f a TrackSource

Add track parameter

timestamp :: Int64 -> Request f a TimestampSource

Add timestamp parameter

fingerprint :: Int64 -> Request f a FingerprintSource

Add fingerprint parameter

albumArtist :: Text -> Request f a AlbumArtistSource

Add albumArtist parameter

duration :: Int64 -> Request f a DurationSource

Add duration parameter

trackNumber :: Int64 -> Request f a TrackNumberSource

Add trackNumber parameter

playlist :: Int64 -> Request f a PlaylistSource

Add playlistID parameter

title :: Text -> Request f a TitleSource

Add title parameter

description :: Text -> Request f a DescriptionSource

Add description parameter

chosenByUser :: Bool -> Request f a ChosenByUserSource

Add chosenByUser parameter

context :: Text -> Request f a ContextSource

Add context parameter

streamId :: Int64 -> Request f a StreamIdSource

Add streamId parameter

recentTracks :: Bool -> Request f a RecentTracksSource

Add recentTracks parameter

recipient :: Text -> Request f a RecipientSource

Add recipient parameter

username :: Text -> Request f a UsernameSource

Add username parameter

data User Source

Instances

user :: Text -> Request f a UserSource

Add user parameter

password :: Text -> Request f a PasswordSource

Add password parameter

public :: Bool -> Request f a PublicSource

Add public parameter

message :: Text -> Request f a MessageSource

Add message parameter

page :: Int64 -> Request f a PageSource

Add page parameter

limit :: Int64 -> Request f a LimitSource

Add limit parameter

taggingType :: Text -> Request f a TaggingTypeSource

Add taggingType parameter

useRecs :: Bool -> Request f a UseRecsSource

Add useRecs parameter

venue :: Int64 -> Request f a VenueSource

Add venue parameter

venueName :: Text -> Request f a VenueNameSource

Add venue parameter

discovery :: Bool -> Request f a DiscoverySource

Add group parameter

data RTP Source

rtp :: Bool -> Request f a RTPSource

Add rtp parameter

buyLinks :: Bool -> Request f a BuyLinksSource

Add buyLinks parameter

data Multiplier Source

Constructors

M1 
M2 

multiplier :: Multiplier -> Request f a MultiplierSource

Add multiplier parameter

data Bitrate Source

Constructors

B64 
B128 

bitrate :: Bitrate -> Request f a BitrateSource

Add bitrate parameter

name :: Text -> Request f a NameSource

Add name parameter

station :: Text -> Request f a StationSource

Add station parameter

comparison :: Targeted t => Int64 -> Request f a t -> Request f a tSource

Add comparison parameter