X-Git-Url: http://www.average.org/gitweb/?p=pdns-pipe-nmc.git;a=blobdiff_plain;f=pdns-pipe-nmc.hs;h=d9ced8f3318629029611f1f5aff08e998dfebb73;hp=ed5d47c4a929723e42dbd57716c2c1fe4e9db169;hb=f0b5926d1268770bbcbcb8af7036238ae066d400;hpb=4525a07052ec3ad3fd7b094a4acf4e00201fbf9f diff --git a/pdns-pipe-nmc.hs b/pdns-pipe-nmc.hs index ed5d47c..d9ced8f 100644 --- a/pdns-pipe-nmc.hs +++ b/pdns-pipe-nmc.hs @@ -51,11 +51,11 @@ qRsp rsp = -- NMC interface -queryOp :: Manager -> Config -> String -> ByteString +queryOp :: Manager -> Config -> String -> String -> IO (Either String ByteString) queryOp mgr cfg qid key = do rsp <- runResourceT $ - httpLbs (qReq cfg key (L.pack qid)) mgr + httpLbs (qReq cfg (L.pack key) (L.pack qid)) mgr return $ qRsp rsp queryNmc :: Manager -> Config -> String -> String @@ -63,10 +63,9 @@ queryNmc :: Manager -> Config -> String -> String queryNmc mgr cfg fqdn qid = do case reverse (splitOn "." fqdn) of "bit":dn:xs -> do - dom <- queryDom (queryOp mgr cfg qid) (L.pack ("d/" ++ dn)) - return $ case dom of - Left err -> Left err - Right dom -> Right $ descendNmc xs dom + dom <- mergeImport (queryOp mgr cfg qid) $ + emptyNmcDom { domImport = Just ("d/" ++ dn)} + return $ Right $ descendNmcDom xs dom _ -> return $ Left "Only \".bit\" domain is supported"