@@ -137,7 +137,7 @@ mkReplicaCount n
137137emptyBody :: L.ByteString
138138emptyBody = L.pack ""
139139
140−dispatch :: MonadBloodhound m => Method -> String -> Maybe L.ByteString
140+dispatch :: MonadBH m => Method -> String -> Maybe L.ByteString
141141 -> m Reply
142142dispatch dMethod url body = do
143143 initReq <- liftIO $ parseUrl url
@@ -151,7 +151,7 @@ dispatch dMethod url body = do
151151joinPath' :: [String] -> String
152152joinPath' = intercalate "/"
153153
154−joinPath :: MonadBloodhound m => [String] -> m String
154+joinPath :: MonadBH m => [String] -> m String
155155joinPath ps = do
156156 Server s <- bhServer <$> getBHEnv
157157 return $ joinPath' (s:ps)
@@ -169,15 +169,15 @@ withBH ms s f = withManager ms $ \mgr -> do
169169 runReaderT f env
170170
171171-- Shortcut functions for HTTP methods
172−delete :: MonadBloodhound m => String -> m Reply
172+delete :: MonadBH m => String -> m Reply
173173delete = flip (dispatch NHTM.methodDelete) Nothing
174−get :: MonadBloodhound m => String -> m Reply
174+get :: MonadBH m => String -> m Reply
175175get = flip (dispatch NHTM.methodGet) Nothing
176−head :: MonadBloodhound m => String -> m Reply
176+head :: MonadBH m => String -> m Reply
177177head = flip (dispatch NHTM.methodHead) Nothing
178−put :: MonadBloodhound m => String -> Maybe L.ByteString -> m Reply
178+put :: MonadBH m => String -> Maybe L.ByteString -> m Reply
179179put = dispatch NHTM.methodPost
180−post :: MonadBloodhound m => String -> Maybe L.ByteString -> m Reply
180+post :: MonadBH m => String -> Maybe L.ByteString -> m Reply
181181post = dispatch NHTM.methodPost
182182
183183-- indexDocument s ix name doc = put (root </> s </> ix </> name </> doc) (Just encode doc)
@@ -189,7 +189,7 @@ post = dispatch NHTM.methodPost
189189-- >>> serverStatus <- runBH getStatus
190190-- >>> fmap status (serverStatus)
191191-- Just 200
192−getStatus :: MonadBloodhound m => m (Maybe Status)
192+getStatus :: MonadBH m => m (Maybe Status)
193193getStatus = do
194194 url <- joinPath []
195195 request <- liftIO $ parseUrl url
@@ -204,7 +204,7 @@ getStatus = do
204204-- True
205205-- >>> runBH $ indexExists (IndexName "didimakeanindex")
206206-- True
207−createIndex :: MonadBloodhound m => IndexSettings -> IndexName -> m Reply
207+createIndex :: MonadBH m => IndexSettings -> IndexName -> m Reply
208208createIndex indexSettings (IndexName indexName) =
209209 bindM2 put url (return body)
210210 where url = joinPath [indexName]
@@ -218,7 +218,7 @@ createIndex indexSettings (IndexName indexName) =
218218-- True
219219-- >>> runBH $ indexExists testIndex
220220-- False
221−deleteIndex :: MonadBloodhound m => IndexName -> m Reply
221+deleteIndex :: MonadBH m => IndexName -> m Reply
222222deleteIndex (IndexName indexName) =
223223 delete =<< joinPath [indexName]
224224
@@ -228,7 +228,7 @@ statusCodeIs n resp = NHTS.statusCode (responseStatus resp) == n
228228respIsTwoHunna :: Reply -> Bool
229229respIsTwoHunna = statusCodeIs 200
230230
231−existentialQuery :: MonadBloodhound m => String -> m (Reply, Bool)
231+existentialQuery :: MonadBH m => String -> m (Reply, Bool)
232232existentialQuery url = do
233233 reply <- head url
234234 return (reply, respIsTwoHunna reply)
@@ -237,7 +237,7 @@ existentialQuery url = do
237237-- in IO
238238--
239239-- >>> exists <- runBH $ indexExists testIndex
240−indexExists :: MonadBloodhound m => IndexName -> m Bool
240+indexExists :: MonadBH m => IndexName -> m Bool
241241indexExists (IndexName indexName) = do
242242 (_, exists) <- existentialQuery =<< joinPath [indexName]
243243 return exists
@@ -247,7 +247,7 @@ indexExists (IndexName indexName) = do
247247--
248248-- >>> _ <- runBH $ createIndex defaultIndexSettings testIndex
249249-- >>> _ <- runBH $ refreshIndex testIndex
250−refreshIndex :: MonadBloodhound m => IndexName -> m Reply
250+refreshIndex :: MonadBH m => IndexName -> m Reply
251251refreshIndex (IndexName indexName) =
252252 bindM2 post url (return Nothing)
253253 where url = joinPath [indexName, "_refresh"]
@@ -257,7 +257,7 @@ stringifyOCIndex oci = case oci of
257257 OpenIndex -> "_open"
258258 CloseIndex -> "_close"
259259
260−openOrCloseIndexes :: MonadBloodhound m => OpenCloseIndex -> IndexName -> m Reply
260+openOrCloseIndexes :: MonadBH m => OpenCloseIndex -> IndexName -> m Reply
261261openOrCloseIndexes oci (IndexName indexName) =
262262 bindM2 post url (return Nothing)
263263 where ociString = stringifyOCIndex oci
@@ -267,14 +267,14 @@ openOrCloseIndexes oci (IndexName indexName) =
267267-- <http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-open-close.html>
268268--
269269-- >>> reply <- runBH $ openIndex testIndex
270−openIndex :: MonadBloodhound m => IndexName -> m Reply
270+openIndex :: MonadBH m => IndexName -> m Reply
271271openIndex = openOrCloseIndexes OpenIndex
272272
273273-- | 'closeIndex' closes an index given a 'Server' and an 'IndexName'. Explained in further detail at
274274-- <http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-open-close.html>
275275--
276276-- >>> reply <- runBH $ closeIndex testIndex
277−closeIndex :: MonadBloodhound m => IndexName -> m Reply
277+closeIndex :: MonadBH m => IndexName -> m Reply
278278closeIndex = openOrCloseIndexes CloseIndex
279279
280280-- | 'putMapping' is an HTTP PUT and has upsert semantics. Mappings are schemas
@@ -284,7 +284,7 @@ closeIndex = openOrCloseIndexes CloseIndex
284284-- >>> resp <- runBH $ putMapping testIndex testMapping TweetMapping
285285-- >>> print resp
286286-- Response {responseStatus = Status {statusCode = 200, statusMessage = "OK"}, responseVersion = HTTP/1.1, responseHeaders = [("Content-Type","application/json; charset=UTF-8"),("Content-Length","21")], responseBody = "{\"acknowledged\":true}", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}
287−putMapping :: (MonadBloodhound m, ToJSON a) => IndexName
287+putMapping :: (MonadBH m, ToJSON a) => IndexName
288288 -> MappingName -> a -> m Reply
289289putMapping (IndexName indexName) (MappingName mappingName) mapping =
290290 bindM2 put url (return body)
@@ -299,7 +299,7 @@ putMapping (IndexName indexName) (MappingName mappingName) mapping =
299299-- >>> resp <- runBH $ deleteMapping testIndex testMapping
300300-- >>> print resp
301301-- Response {responseStatus = Status {statusCode = 200, statusMessage = "OK"}, responseVersion = HTTP/1.1, responseHeaders = [("Content-Type","application/json; charset=UTF-8"),("Content-Length","21")], responseBody = "{\"acknowledged\":true}", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}
302−deleteMapping :: MonadBloodhound m => IndexName -> MappingName -> m Reply
302+deleteMapping :: MonadBH m => IndexName -> MappingName -> m Reply
303303deleteMapping (IndexName indexName)
304304 (MappingName mappingName) =
305305 delete =<< joinPath [indexName, mappingName, "_mapping"]
@@ -312,7 +312,7 @@ deleteMapping (IndexName indexName)
312312-- >>> resp <- runBH $ indexDocument testIndex testMapping exampleTweet (DocId "1")
313313-- >>> print resp
314314-- Response {responseStatus = Status {statusCode = 201, statusMessage = "Created"}, responseVersion = HTTP/1.1, responseHeaders = [("Content-Type","application/json; charset=UTF-8"),("Content-Length","74")], responseBody = "{\"_index\":\"twitter\",\"_type\":\"tweet\",\"_id\":\"1\",\"_version\":1,\"created\":true}", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}
315−indexDocument :: (ToJSON doc, MonadBloodhound m) => IndexName -> MappingName
315+indexDocument :: (ToJSON doc, MonadBH m) => IndexName -> MappingName
316316 -> doc -> DocId -> m Reply
317317indexDocument (IndexName indexName)
318318 (MappingName mappingName) document (DocId docId) =
@@ -323,7 +323,7 @@ indexDocument (IndexName indexName)
323323-- | 'deleteDocument' is the primary way to delete a single document.
324324--
325325-- >>> _ <- runBH $ deleteDocument testIndex testMapping (DocId "1")
326−deleteDocument :: MonadBloodhound m => IndexName -> MappingName
326+deleteDocument :: MonadBH m => IndexName -> MappingName
327327 -> DocId -> m Reply
328328deleteDocument (IndexName indexName)
329329 (MappingName mappingName) (DocId docId) =
@@ -339,7 +339,7 @@ deleteDocument (IndexName indexName)
339339-- >>> let stream = V.fromList [BulkIndex testIndex testMapping (DocId "2") (toJSON (BulkTest "blah"))]
340340-- >>> _ <- runBH $ bulk stream
341341-- >>> _ <- runBH $ refreshIndex testIndex
342−bulk :: MonadBloodhound m => V.Vector BulkOperation -> m Reply
342+bulk :: MonadBH m => V.Vector BulkOperation -> m Reply
343343bulk bulkOps = bindM2 post url (return body)
344344 where url = joinPath ["_bulk"]
345345 body = Just $ encodeBulkOperations bulkOps
@@ -403,7 +403,7 @@ encodeBulkOperation (BulkUpdate (IndexName indexName)
403403-- The 'DocId' is the primary key for your Elasticsearch document.
404404--
405405-- >>> yourDoc <- runBH $ getDocument testIndex testMapping (DocId "1")
406−getDocument :: MonadBloodhound m => IndexName -> MappingName
406+getDocument :: MonadBH m => IndexName -> MappingName
407407 -> DocId -> m Reply
408408getDocument (IndexName indexName)
409409 (MappingName mappingName) (DocId docId) =
@@ -413,7 +413,7 @@ getDocument (IndexName indexName)
413413-- in IO
414414--
415415-- >>> exists <- runBH $ documentExists testIndex testMapping (DocId "1")
416−documentExists :: MonadBloodhound m => IndexName -> MappingName
416+documentExists :: MonadBH m => IndexName -> MappingName
417417 -> DocId -> m Bool
418418documentExists (IndexName indexName)
419419 (MappingName mappingName) (DocId docId) = do
@@ -421,7 +421,7 @@ documentExists (IndexName indexName)
421421 return exists
422422 where url = joinPath [indexName, mappingName, docId]
423423
424−dispatchSearch :: MonadBloodhound m => String -> Search -> m Reply
424+dispatchSearch :: MonadBH m => String -> Search -> m Reply
425425dispatchSearch url search = post url (Just (encode search))
426426
427427-- | 'searchAll', given a 'Search', will perform that search against all indexes
@@ -430,7 +430,7 @@ dispatchSearch url search = post url (Just (encode search))
430430-- >>> let query = TermQuery (Term "user" "bitemyapp") Nothing
431431-- >>> let search = mkSearch (Just query) Nothing
432432-- >>> reply <- runBH $ searchAll search
433−searchAll :: MonadBloodhound m => Search -> m Reply
433+searchAll :: MonadBH m => Search -> m Reply
434434searchAll = bindM2 dispatchSearch url . return
435435 where url = joinPath ["_search"]
436436
@@ -440,7 +440,7 @@ searchAll = bindM2 dispatchSearch url . return
440440-- >>> let query = TermQuery (Term "user" "bitemyapp") Nothing
441441-- >>> let search = mkSearch (Just query) Nothing
442442-- >>> reply <- runBH $ searchByIndex testIndex search
443−searchByIndex :: MonadBloodhound m => IndexName -> Search -> m Reply
443+searchByIndex :: MonadBH m => IndexName -> Search -> m Reply
444444searchByIndex (IndexName indexName) = bindM2 dispatchSearch url . return
445445 where url = joinPath [indexName, "_search"]
446446
@@ -450,7 +450,7 @@ searchByIndex (IndexName indexName) = bindM2 dispatchSearch url . return
450450-- >>> let query = TermQuery (Term "user" "bitemyapp") Nothing
451451-- >>> let search = mkSearch (Just query) Nothing
452452-- >>> reply <- runBH $ searchByType testIndex testMapping search
453−searchByType :: MonadBloodhound m => IndexName -> MappingName -> Search
453+searchByType :: MonadBH m => IndexName -> MappingName -> Search
454454 -> m Reply
455455searchByType (IndexName indexName)
456456 (MappingName mappingName) = bindM2 dispatchSearch url . return