Thank you. I’ll work through what you’ve written.


On 5 Oct 2015, at 09:21, Kostiantyn Rybnikov <k-bx@k-bx.com> wrote:

Just few more things which might help:

λ res ^. responseStatus
Status {statusCode = 200, statusMessage = "OK"}
λ :t res ^. responseStatus
res ^. responseStatus :: Status
λ :i Status
data Status
  = Network.HTTP.Types.Status.Status {Network.HTTP.Types.Status.statusCode :: Int,
                                      Network.HTTP.Types.Status.statusMessage :: Data.ByteString.Internal.ByteString}
        -- Defined in ‘Network.HTTP.Types.Status’
instance Enum Status -- Defined in ‘Network.HTTP.Types.Status’
instance Eq Status -- Defined in ‘Network.HTTP.Types.Status’
instance Ord Status -- Defined in ‘Network.HTTP.Types.Status’
instance Show Status -- Defined in ‘Network.HTTP.Types.Status’

You can see how to get the status, where it comes from. So you can just do "if res ^. responseStatus /= status200 then ...".

Cheers.

On Sun, Oct 4, 2015 at 6:18 PM, Mike Houghton <mike_k_houghton@yahoo.co.uk> wrote:
Hi,

Please can someone explain how,using the wreq package, I can download and save a binary file?
Say the file is at the end of
http://x.y.z/files/myfile.jpg

and it is a jpeg and no authentication is needed.

I just want to

1. Check that the URL is syntactically correct - flag and error if not
2. If the URL is syntactically ok then download the file using GET.
3. Check that the response code is 200 and if so save the file
3a. if the response code is not 200 then delegate to an  error handling function or some simple idiomatic way of error handling.


Thanks once again.

Mike

_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners

_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners