module Data.YQL.Result ( Result(..) , response , headers , status , timeout , url ) where import Control.Lens import Data.ByteString import qualified Network.HTTP.Types as HTTP import Data.YQL.Response data Result = Result { resultResponse :: Response , resultHeaders :: HTTP.ResponseHeaders , resultStatus :: HTTP.Status , resultTimeout :: Bool , resultUrl :: ByteString } response :: Lens' Result Response response = lens resultResponse (\res r -> res { resultResponse = r }) headers :: Lens' Result HTTP.ResponseHeaders headers = lens resultHeaders (\res hs -> res { resultHeaders = hs }) status :: Lens' Result HTTP.Status status = lens resultStatus (\res s -> res { resultStatus = s }) timeout :: Lens' Result Bool timeout = lens resultTimeout (\res t -> res { resultTimeout = t }) url :: Lens' Result ByteString url = lens resultUrl (\res u -> res { resultUrl = u })