diff --git a/Network/HTTP/Enumerator.hs b/Network/HTTP/Enumerator.hs
--- a/Network/HTTP/Enumerator.hs
+++ b/Network/HTTP/Enumerator.hs
@@ -651,7 +651,7 @@
 defaultCheckCerts host' certs =
     case certificateVerifyDomain (S8.unpack host') certs of
         TLS.CertificateUsageAccept -> certificateVerifyChain certs
-        _                          -> return TLS.CertificateUsageAccept
+        rejected                   -> return rejected
 
 instance Default (Request m) where
     def = Request
@@ -678,9 +678,11 @@
         , port = port'
         , secure = sec
         , path = S8.pack
-                    $ if null path''
+                    $ (if null path'
                             then "/"
-                            else concatMap (encodeUrlCharPI parsePath) path''
+                            else concatMap (encodeUrlCharPI parsePath) path')
+                        ++
+                      (if parsePath then "" else qstring')
         , queryString = if parsePath
                             then W.parseQuery $ S8.pack qstring
                             else []
@@ -689,7 +691,6 @@
     (beforeSlash, afterSlash) = break (== '/') s
     (hostname, portStr) = break (== ':') beforeSlash
     (path', qstring') = break (== '?') afterSlash
-    path'' = if parsePath then path' else afterSlash
     qstring'' = case qstring' of
                 '?':x -> x
                 _ -> qstring'
diff --git a/Network/TLS/Client/Enumerator.hs b/Network/TLS/Client/Enumerator.hs
--- a/Network/TLS/Client/Enumerator.hs
+++ b/Network/TLS/Client/Enumerator.hs
@@ -57,7 +57,7 @@
     go (Continue k) = do
         bs <- tryIO read'
         if all S.null bs
-            then throwError ConnectionReset
+            then continue k
             else do
                 step <- lift $ runIteratee $ k $ Chunks bs
                 go step
@@ -80,7 +80,7 @@
             }
     gen <- makeSystem
     istate <- client tcp gen h
-    _ <- handshake istate
+    handshake istate
     return ConnInfo
         { connRead = recvD istate
         , connWrite = sendData istate . L.fromChunks
@@ -89,6 +89,6 @@
   where
     recvD istate = do
         x <- recvData istate
-        if L.null x
+        if S.null x
             then recvD istate
-            else return $ L.toChunks x
+            else return [x]
diff --git a/http-enumerator.cabal b/http-enumerator.cabal
--- a/http-enumerator.cabal
+++ b/http-enumerator.cabal
@@ -1,12 +1,12 @@
 name:            http-enumerator
-version:         0.7.2.1
+version:         0.7.3.3
 license:         BSD3
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
 maintainer:      Michael Snoyman <michael@snoyman.com>
-synopsis:        HTTP client package with enumerator interface and HTTPS support.
+synopsis:        HTTP client package with enumerator interface and HTTPS support. (deprecated)
 description:
-    This package uses attoparsec for parsing the actual contents of the HTTP connection. It also provides higher-level functions which allow you to avoid direct usage of enumerators.
+    This package has been deprecated in favor of http-conduit (<http://hackage.haskell.org/package/http-conduit>), which provides a more powerful and simpler interface. The API is very similar, and migrating should not be problematic. Send concerns about this move to the maintainer (address listed above).
 category:        Web, Enumerator
 stability:       Stable
 cabal-version:   >= 1.6
@@ -22,8 +22,8 @@
 library
     build-depends: base                  >= 4       && < 5
                  , bytestring            >= 0.9.1.4 && < 0.10
-                 , transformers          >= 0.2     && < 0.3
-                 , failure               >= 0.1     && < 0.2
+                 , transformers          >= 0.2     && < 0.4
+                 , failure               >= 0.1     && < 0.3
                  , enumerator            >= 0.4.9   && < 0.5
                  , attoparsec            >= 0.8.0.2 && < 0.11
                  , attoparsec-enumerator >= 0.2.0.4 && < 0.4
@@ -33,15 +33,15 @@
                  , http-types            >= 0.6     && < 0.7
                  , blaze-builder-enumerator >= 0.2  && < 0.3
                  , cprng-aes             >= 0.2     && < 0.3
-                 , tls                   >= 0.8.1   && < 0.9
-                 , tls-extra             >= 0.4     && < 0.5
+                 , tls                   >= 0.9     && < 0.10
+                 , tls-extra             >= 0.4.3   && < 0.5
                  , monad-control         >= 0.2     && < 0.4
                  , containers            >= 0.2
-                 , certificate           >= 0.7     && < 1.1
+                 , certificate           >= 1.1     && < 1.2
                  , case-insensitive      >= 0.2
                  , base64-bytestring     >= 0.1     && < 0.2
                  , asn1-data             >= 0.5.1   && < 0.7
-                 , data-default          >= 0.3     && < 0.4
+                 , data-default          >= 0.3     && < 0.5
     if flag(network-bytestring)
         build-depends: network               >= 2.2.1   && < 2.2.3
                      , network-bytestring    >= 0.1.3   && < 0.1.4
