using Cksoft.Data;
using Cksoft.Unity;
using DllEapEntity.OFILM;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text;
namespace DllEapDal.OFILM
{
public class RabbitMQMonitorDal
{
///
/// 通过接口获取队列的信息
///
///
///
///
public IEnumerable GetQueueInfo(string ip, ref string errorinfo)
{
var url = $"http://{ip}:15672/api/queues";
//var paras = new Dictionary();
//paras.Add("page", 1);
//paras.Add("page_size", 10000);
//paras.Add("pagination", true);
//paras.Add("use_regex", false);
//var queryString = string.Join("&", paras.Keys.Select(c => $"{c}={paras[c]}"));
//url = url + "?" + queryString;
HttpClient client = HttpClientFactory.Create();
client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic",
"YWRtaW46YWRtaW4=");
client.DefaultRequestHeaders.Add("Host", $"{ip}:15672");
HttpResponseMessage response = client.GetAsync(url).Result;
IEnumerable info = null;
if (response.IsSuccessStatusCode)
{
info = JsonConvert.DeserializeObject>(response.Content.ReadAsStringAsync().Result);
}
return info;
}
}
}