8}      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None:<=OT fConduit powered version of . Differences are:"Response body is represented as a Producer.Generalized to any instance of MonadBaseControl , not just IO.The Manager is contained by a  MonadReader context. Since 2.1.0gAn Acquire for getting a Response. Since 2.1.0hTLS-powered manager settings. Since 2.1.0iGet a new manager using h. Since 2.1.0j+Get a new manager using the given settings. Since 2.1.0kGet a new manager with h and construct a ReaderT containing it. Since 2.1.0l:Get a new manager with the given settings and construct a ReaderT containing it. Since 2.1.0mConduit-powered version of .See f for the differences with . Since 2.1.0nGeneralized version of . Since 2.1.0rSame as , except it uses the Manager in the reader environment. Since 2.1.1sSame as , except it uses the Manager in the reader environment.'This can be more convenient that using kH as it avoids the need to specify the base monad for the response body. Since 2.1.2fghijklmnopqrs ,$(+*)'&%#"! 9876543210/.-:>=<;EDCBA@?WKRVUTSQPONJIHGFX^]\[ZYba`_cfghijklmnopqrsfmnghikljrspqofghijklmnopqrsNone:<=tDownload the specified W, returning the results as a ^. This is a simplified version of z for the common case where you simply want the response data as a simple datatype. If you want more power, such as interleaved actions on the response body during download, you'll need to use z' directly. This function is defined as:  httpLbs = y <=< zEven though the ^1 contains a lazy bytestring, this function does not utilize lazy I/O, and therefore the entire response body will live in memory. If you want constant memory usage, you'll need to use conduit packages's  returned by z.This function will throwIO an  for any response with a non-2xx status code (besides 3xx redirects up to a limit of 10 redirects). This behavior can be modified by changing the  checkStatus field of your request.[Note: Unlike previous versions, this function will perform redirects, as specified by the J setting.uSDownload the specified URL, following any redirects, and return the response body.This function will throwIO an n for any response with a non-2xx status code (besides 3xx redirects up to a limit of 10 redirects). It uses 6 to parse the input. This function essentially wraps t.DNote: Even though this function returns a lazy bytestring, it does not utilize lazy I/O, and therefore the entire response body will live in memory. If you want constant memory usage, you'll need to use the conduit package and z directly."Note: This function creates a new c+. It should be avoided in production code. tuvwxyz{|}~p ,$(+*)'&%#"! 9876543210/.-:>=<;EDCBA@?WFGHIJKLMNOPQRSTUVX^YZ[\]b`_acdetuvwxyz{|}~utz>=<;EDCBA@?WVUTSRQPONMLKJIHGFVUTSRQPONMLKJIHGF{|}~^]\[ZY]\[ZYcwxba`_vdea_`X9876543210/.-: y ,+*)('&%$#"!  tuvwxyz{|}~None0LOT" -An exception that can occur when parsing JSON 6Perform an HTTP request and return the body as a lazy  ByteString`. Note that the entire value will be read into memory at once (no lazy I/O will be performed).5Perform an HTTP request and ignore the response body. ]Perform an HTTP request and parse the body as JSON. In the event of an JSON parse errors, a " runtime exception will be thrown. ]Perform an HTTP request and parse the body as JSON. In the event of an JSON parse errors, a Left value will be returned. <Perform an HTTP request and consume the body with the given ?Perform an HTTP request, and get the response body as a Source.The second argument to this function tells us how to make the Source from the Response itself. This allows you to perform actions with the status or headers, for example, in addition to the raw bytes themselves. If you just care about the response body, you can use  as the second argument here. {-# LANGUAGE OverloadedStrings #-} import Control.Monad.IO.Class (liftIO) import Control.Monad.Trans.Resource (runResourceT) import Data.Conduit (($$)) import qualified Data.Conduit.Binary as CB import qualified Data.Conduit.List as CL import Network.HTTP.Simple import System.IO (stdout) main :: IO () main = runResourceT $ httpSource " http://httpbin.org/robots.txt" getSrc $$ CB.sinkHandle stdout where getSrc res = do liftIO $ print (getResponseStatus res, getResponseHeaders res) getResponseBody res MPerform an action with the given request. This employes the bracket pattern.This is similar to , but does not require ( and allows the result to not contain a  value. Alternate spelling of  Set the request method Set whether this is a secureHTTPS (True ) or insecureHTTP (False ) request 'Set the destination host of the request 'Set the destination port of the request /Lens for the requested path info of the request +Add a request header name/value combination 0Get all request header values for the given name wSet the given request header to the given list of values. Removes any previously set header values with the same name. >Set the request headers, wiping out any previously set headers Get the query string parameters Set the query string parameters "Set the request body to the given EY. You may want to consider using one of the convenience functions in the modules, e.g. requestBodyJSON.NoteA: This will not modify the request method. For that, please use  requestMethod'. You likely don't want the default of GET. $Set the request body as a JSON valueNoteA: This will not modify the request method. For that, please use  requestMethod'. You likely don't want the default of GET.This also sets the  content-type to application/json; chatset=utf8 Set the request body as a lazy  ByteStringNoteA: This will not modify the request method. For that, please use  requestMethod'. You likely don't want the default of GET. Set the request body as a NoteA: This will not modify the request method. For that, please use  requestMethod'. You likely don't want the default of GET. Set the request body as a fileNoteA: This will not modify the request method. For that, please use  requestMethod'. You likely don't want the default of GET. (Set the request body as URL encoded dataNoteA: This will not modify the request method. For that, please use  requestMethod'. You likely don't want the default of GET.This also sets the  content-type to !application/x-www-form-urlencoded 3Set basic auth with the given username and password $Instead of using the default global c, use the supplied Manager. *Override the default proxy server settings Get the status of the response ,Get the integral status code of the response 2Get all response header values with the given name Get all response headers Get the response body%length of sourceusernamepassword1 >=<;W^1W^>=<; #      ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E E F G H I I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b 5 c d e f g h i j k l mnopnoqrstuvwxyz{|}~}vw{|~r}rxy}~                         +http-conduit-2.2.3.2-E92s9S9xnNvDJzv02kEKcSNetwork.HTTP.ConduitNetwork.HTTP.SimpleNetwork.HTTP.Client.ConduitCSource*http-client-0.5.7.0-JBInpFuOYcJGiTvTuJkNSJNetwork.HTTP.ClientresponseTimeoutDefaultresponseTimeoutNoneresponseTimeoutMicroNetwork.HTTP.Client.ResponsegetRedirectedRequestNetwork.HTTP.Client.Manager closeManager newManagerNetwork.HTTP.Client.RequestsetQueryStringsetRequestIgnoreStatusurlEncodedBodyaddProxyapplyBasicAuthbrowserDecompressalwaysDecompressdefaultRequest parseRequest_ parseRequest parseUrlThrowparseUrlNetwork.HTTP.Client.CookiesdestroyCookieJarcreateCookieJarNetwork.HTTP.Client.TypesInvalidUrlExceptionHttpExceptionRequest HttpExceptionInvalidProxySettingsConnectionClosedInvalidProxyEnvironmentVariableHttpZlibExceptionInvalidDestinationHostIncompleteHeadersInvalidChunkHeadersResponseBodyTooShortWrongRequestBodyStreamSizeTlsNotSupportedNoResponseDataReceivedProxyConnectExceptionInternalException InvalidHeaderInvalidStatusLineConnectionFailureConnectionTimeoutResponseTimeoutOverlongHeadersTooManyRedirectsStatusCodeExceptionHttpExceptionContentcookie_http_onlycookie_secure_onlycookie_host_onlycookie_persistentcookie_last_access_timecookie_creation_time cookie_path cookie_domaincookie_expiry_time cookie_value cookie_nameCookie CookieJar proxyPort proxyHostProxy RequestBodyIORequestBodyStreamChunkedRequestBodyStreamRequestBodyBuilder RequestBodyBSRequestBodyLBS RequestBodyrequestVersion cookieJarresponseTimeout checkResponse redirectCount decompressrawBody hostAddressproxy requestBodyrequestHeaders queryStringpathporthostsecuremethodRequestresponseCookieJar responseBodyresponseHeadersresponseVersionresponseStatusResponsemanagerResponseTimeoutmanagerTlsConnectionmanagerConnCountManagerSettingsManager.http-client-tls-0.3.5.1-5R5QTgoykKAEtsSxCK7kb5Network.HTTP.Client.TLStlsManagerSettingsmkManagerSettings withResponseacquireResponsedefaultManagerSettingsnewManagerSettings withManagerwithManagerSettings responseOpen responseClosebodyReaderSourcerequestBodySourcerequestBodySourceChunkedhttpLbs httpNoBody simpleHttpconduitManagerSettings lbsResponsehttprequestBodySourceIOrequestBodySourceChunkedIO JSONExceptionJSONParseExceptionJSONConversionExceptionhttpLBShttpJSONhttpJSONEitherhttpSink httpSourcesetRequestMethodsetRequestSecuresetRequestHostsetRequestPortsetRequestPathaddRequestHeadergetRequestHeadersetRequestHeadersetRequestHeadersgetRequestQueryStringsetRequestQueryStringsetRequestBodysetRequestBodyJSONsetRequestBodyLBSsetRequestBodySourcesetRequestBodyFilesetRequestBodyURLEncodedsetRequestBasicAuthsetRequestManagersetRequestProxygetResponseStatusgetResponseStatusCodegetResponseHeadergetResponseHeadersgetResponseBody$fExceptionJSONException$fShowJSONExceptionNetwork.HTTP.Client.Core srcToPopperIOmanagerSetProxymanagerSetSecureProxymanagerSetInsecureProxywithResponseHistoryresponseOpenHistoryHistoriedResponse hrRedirectshrFinalRequesthrFinalResponse defaultProxyproxyEnvironmentNamedproxyEnvironmentuseProxynoProxyproxyFromRequestrawConnectionModifySocketSizerawConnectionModifySocketobservedStreamFile streamFileapplyBasicProxyAuthgetUriNetwork.HTTP.Client.Body brReadSomeNetwork.HTTP.Client.ConnectionsocketConnectionmakeConnectiongenerateCookieinsertCheckedCookiereceiveSetCookieupdateCookieJarcomputeCookieStringinsertCookiesIntoRequestevictExpiredCookies!removeExistingCookieFromCookieJar pathMatches defaultPath domainMatches isIpAddressPopper NeedsPopper GivesPoppermanagerRawConnectionmanagerRetryableExceptionmanagerWrapExceptionmanagerIdleConnectionCountmanagerModifyRequestmanagerModifyResponse ProxyOverrideHasHttpManagergetHttpManagerStreamFileStatusfileSize readSoFar thisChunkSizesetConnectionClose srcToPopper%conduit-1.2.11-JXXEt2BUIuSBaqX1Y40E3TData.Conduit.Internal.ConduitSink&resourcet-1.1.9-EjlbQh9zWXPHxihqQSmLyT%Control.Monad.Trans.Resource.Internal MonadResourceConduitM