JIRA と連携する CRUD アプリケーションを作成しました。cabal-dev がすべてを解決するわけではないため、haskell 環境をアップグレードすることになりました。その結果、JIRA とやり取りするコードを使用しようとするたびにこのエラーが発生し、何らかの破損が発生しました。
Spike: HandshakeFailed (Error_Misc "user error (unexpected type received. expecting
handshake and got: Alert [(AlertLevel_Warning,UnrecognizedName)])")
少しグーグルした後、これはtlsまたはtlsを使用するhttp-conduitに関係していると思います。
私は現在使用してtls-1.1.2
おり、http-conduit-1.8.7.1
以前は使用
tls-0.9.11
していましhttp-conduit >= 1.5 && < 1.7
た (どちらが正確かはわかりませんが、古いインストールはなくなりました。
これは、ブレイクが起こっていると私が信じているところです
manSettings :: ManagerSettings
manSettings = def { managerCheckCerts = \ _ _ _-> return CertificateUsageAccept }
これは以前のように見えたものです
manSettings :: ManagerSettings
manSettings = def { managerCheckCerts = \ _ _ -> return CertificateUsageAccept }
これを使用するコードは次のとおりです
initialRequest :: forall (m :: * -> *). URI -> IO (Request m,Manager)
initialRequest uri = do
initReq <- parseUrl uri -- let the server tell you what the request header
-- should look like
manager <- newManager manSettings -- a Manager manages http connections
-- we mod the settings to handle
-- the SSL cert. See manSettings below.
return (modReq initReq,manager)
where modReq initReq = applyBasicAuth username password initReq
何か取り残されている場合はお知らせください。この時点で、当時と現在の間で何が壊れたのかわかりません。