http-client-openssl 0.2.0.0 → 0.2.0.1
raw patch · 3 files changed
+17/−10 lines, 3 filesdep ~network
Dependency ranges changed: network
Files
- ChangeLog.md +3/−0
- Network/HTTP/Client/OpenSSL.hs +12/−9
- http-client-openssl.cabal +2/−1
+ ChangeLog.md view
@@ -0,0 +1,3 @@+## 0.2.0.1++[Expand hints for getAddrInfo. More exception safety.](https://github.com/snoyberg/http-client/pull/91)
Network/HTTP/Client/OpenSSL.hs view
@@ -28,7 +28,9 @@ return $ \_ha host port -> do -- Copied/modified from openssl-streams let hints = N.defaultHints- { N.addrFlags = [N.AI_ADDRCONFIG, N.AI_NUMERICSERV]+ { N.addrFlags = [N.AI_ADDRCONFIG, N.AI_NUMERICSERV]+ , N.addrFamily = N.AF_INET+ , N.addrSocketType = N.Stream } (addrInfo:_) <- N.getAddrInfo (Just hints) (Just host) (Just $ show port) @@ -37,12 +39,13 @@ let protocol = N.addrProtocol addrInfo let address = N.addrAddress addrInfo - sock <- N.socket family socketType protocol- N.connect sock address- ssl <- SSL.connection ctx sock- SSL.connect ssl- makeConnection- (SSL.read ssl 32752)- (SSL.write ssl)- (N.sClose sock)+ bracketOnError (N.socket family socketType protocol) (N.close)+ $ \sock -> do+ N.connect sock address+ ssl <- SSL.connection ctx sock+ SSL.connect ssl+ makeConnection+ (SSL.read ssl 32752)+ (SSL.write ssl)+ (N.close sock) }
http-client-openssl.cabal view
@@ -1,5 +1,5 @@ name: http-client-openssl-version: 0.2.0.0+version: 0.2.0.1 synopsis: http-client backend using the OpenSSL library. description: Intended for use by higher-level libraries. homepage: https://github.com/snoyberg/http-client@@ -10,6 +10,7 @@ category: Network build-type: Simple cabal-version: >=1.10+extra-source-files: ChangeLog.md library exposed-modules: Network.HTTP.Client.OpenSSL