public async Task<IInfluxDbApiResponse> Write(WriteRequest writeRequest) { var requestContent = new StringContent(writeRequest.GetLines(), Encoding.UTF8, "text/plain"); var requestParams = RequestClientUtility.BuildRequestParams(writeRequest.DbName, QueryParams.Precision, writeRequest.Precision); var result = await this.RequestClient.PostDataAsync(requestParams: requestParams, content: requestContent); return new InfluxDbApiWriteResponse(result.StatusCode, result.Body); }
public async Task<IInfluxDbApiResponse> WriteAsync(string dbName, Point[] points, string retenionPolicy = "default", TimeUnit precision = TimeUnit.Milliseconds) { var request = new WriteRequest(_requestClient.GetFormatter()) { DbName = dbName, Points = points, RetentionPolicy = retenionPolicy, Precision = precision.GetParamValue() }; return await _basicRequestModule.Write(request); }
public void WriteRequest_OnGetLines_ShouldReturnNewLineSeparatedPoints() { var points = _fixture.CreateMockPoints(2); var formatter = _fixture.Sut.GetFormatter(); var request = new WriteRequest(formatter) { Points = points }; var actual = request.GetLines(); var expected = String.Join("\n", points.Select(p => formatter.PointToString(p))); actual.Should().Be(expected); }