示例#1
0
        public async Task <HttpResponseMessage> EmitAsync(string eventPayload, string eventType, string eventId = "", string eventTimestamp = "", string eventSubject = "", string dataVersion = "")
        {
            var url = BaseUrl.AppendPathSegments("events", eventType);

            if (string.IsNullOrWhiteSpace(eventId) == false)
            {
                url = url.SetQueryParam("eventId", eventId);
            }

            if (string.IsNullOrWhiteSpace(eventTimestamp) == false)
            {
                url = url.SetQueryParam("eventTimestamp", eventTimestamp);
            }

            if (string.IsNullOrWhiteSpace(eventSubject) == false)
            {
                url = url.SetQueryParam("eventSubject", eventSubject);
            }

            if (string.IsNullOrWhiteSpace(dataVersion) == false)
            {
                url = url.SetQueryParam("dataVersion", dataVersion);
            }

            var response = await HttpClient.PostAsync(url, new StringContent(eventPayload, Encoding.UTF8, "application/json"));

            return(response);
        }
        public async Task <HttpResponseMessage> GetAsync()
        {
            var url = BaseUrl.AppendPathSegments("health");

            var response = await HttpClient.GetAsync(url);

            return(response);
        }
示例#3
0
 public async Task TurnOnOrOff(string id, string accountId, string token, bool TurnOn)
 {
     await BaseUrl
     .AppendPathSegments("/v1/wifi-switch-1.3/", id, "/status/", TurnOn? "on" : "off")
     .AddDefaultHeaders(accountId, token)
     .PutAsync(null)
     .ConfigureAwait(false);
 }
示例#4
0
 public async Task <ConfigurationsResponse> GetConfig(string id, string accountId, string token)
 {
     return(await BaseUrl
            .AppendPathSegments("/v1/device/", id, "configurations")
            .AddDefaultHeaders(accountId, token)
            .GetAsync()
            .ReceiveJson <ConfigurationsResponse>()
            .ConfigureAwait(false));
 }
示例#5
0
        public async Task <IFlurlResponse> DeletePoolInfoAsync(SprdPoolInfo sprdPoolInfo)
        {
            Logging.Logger.LogInformation("DeletePoolInfoAsync");

            var response = (await BaseUrl.AppendPathSegments(RelativeUrlDeletePoolSprd, sprdPoolInfo._id)
                            .SetQueryParam("code", AzureCode_DeleteSprd_TestEnvironment).DeleteAsync());

            Logging.Logger.LogInformation("Response received from DeletePoolInfoAsync");
            return(response);
        }
示例#6
0
        public async Task <EnergyResponse7A> GetEnergy(string id, string accountId, string token, EnergyPeriod period)
        {
            var result = await BaseUrl
                         .AppendPathSegments("/v1/device/", id, "/energy/", period.ToString())
                         .AddDefaultHeaders(accountId, token)
                         .GetAsync()
                         .ReceiveString()
                         .ConfigureAwait(false);

            return(JsonConvert.DeserializeObject <EnergyResponse7A>(result));
        }
示例#7
0
        public async Task <Detail7AResponse> GetDetailsAsync(string id, string accountId, string token)
        {
            var result = await BaseUrl
                         .AppendPathSegments("/v1/device/", id, "detail")
                         .AddDefaultHeaders(accountId, token)
                         .GetAsync()
                         .ReceiveString()
                         .ConfigureAwait(false);

            return(JsonConvert.DeserializeObject <Detail7AResponse>(result));
        }
示例#8
0
        public async Task <EnergyResponse15A> GetEnergy(string id, string accountId, string token, EnergyPeriod period)
        {
            var body = new RequestBody()
            {
                Uuid      = id,
                Token     = token,
                AccountId = accountId
            };

            var result = await BaseUrl
                         .AppendPathSegments($"15a/v1/device/energy{period.ToString()}")
                         .PostJsonAsync(body)
                         .ReceiveString()
                         .ConfigureAwait(false);

            return(JsonConvert.DeserializeObject <EnergyResponse15A>(result));
        }
示例#9
0
        public async Task <Detail15AResponse> GetDetailsAsync(string id, string accountId, string token)
        {
            var body = new DetailRequest
            {
                Uuid      = id,
                AccountId = accountId,
                Token     = token
            };

            var result = await BaseUrl
                         .AppendPathSegments("15a/v1/device/devicedetail")
                         .PostJsonAsync(body)
                         .ReceiveString()
                         .ConfigureAwait(false);

            return(JsonConvert.DeserializeObject <Detail15AResponse>(result));
        }
示例#10
0
        public async Task <BaseResponse <object> > TurnOnOrOff(string id, string accountId, string token, bool turnOn)
        {
            var body = new DeviceStatusRequest
            {
                Uuid      = id,
                AccountId = accountId,
                Token     = token,
                Status    = turnOn ? "on" : "off"
            };

            var response = await BaseUrl
                           .AppendPathSegments("15a/v1/device/devicestatus")
                           .PutJsonAsync(body)
                           .ReceiveString()
                           .ConfigureAwait(false);

            return(JsonConvert.DeserializeObject <BaseResponse <object> >(response));
        }