public string QueryStringValueType(IUrlParameter value) { if (value == null) { return(null); } return(value.GetString(this._settings)); }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { var request = (IMultiSearchTemplateRequest)value; if (request == null) { return; } var settings = serializer.GetConnectionSettings(); var elasticsearchSerializer = settings.RequestResponseSerializer; if (elasticsearchSerializer == null) { return; } if (request.Operations == null) { return; } foreach (var operation in request.Operations.Values) { var p = operation.RequestParameters; string GetString(string key) => p.GetResolvedQueryStringValue(key, settings); IUrlParameter indices = request.Index == null || !request.Index.Equals(operation.Index) ? operation.Index : null; IUrlParameter types = request.Type == null || !request.Type.Equals(operation.Type) ? operation.Type : null; var searchType = GetString("search_type"); if (searchType == "query_then_fetch") { searchType = null; } var header = new { index = indices?.GetString(settings), type = types?.GetString(settings), search_type = searchType, preference = GetString("preference"), routing = GetString("routing"), ignore_unavailable = GetString("ignore_unavailable") }; var headerString = elasticsearchSerializer.SerializeToString(header, SerializationFormatting.None); writer.WriteRaw($"{headerString}\n"); var bodyString = elasticsearchSerializer.SerializeToString(operation, SerializationFormatting.None); writer.WriteRaw($"{bodyString}\n"); } ; }
private RouteValues Route(string name, IUrlParameter routeValue, bool required = true) { if (routeValue == null) { if (this._routeValues.ContainsKey(name)) { this._routeValues.Remove(name); } return(this); } this._routeValues[name] = routeValue; return(this); }
private static IEnumerable<AliasDefinition> AliasesPointingToIndex(IConnectionConfigurationValues settings, IUrlParameter indices, IGetAliasResponse aliasesResponse) { if (!aliasesResponse.IsValid || !aliasesResponse.Indices.HasAny()) return Enumerable.Empty<AliasDefinition>(); var indexNames = indices.GetString(settings).Split(','); var aliases = new List<AliasDefinition>(); foreach (var indexName in indexNames) if (aliasesResponse.Indices.ContainsKey(indexName)) aliases.AddRange(aliasesResponse.Indices[indexName]); return aliases; }
public void Serialize(ref JsonWriter writer, IMultiSearchTemplateRequest value, IJsonFormatterResolver formatterResolver) { if (value?.Operations == null) { return; } var settings = formatterResolver.GetConnectionSettings(); var memoryStreamFactory = settings.MemoryStreamFactory; var serializer = settings.RequestResponseSerializer; foreach (var operation in value.Operations.Values) { var p = operation.RequestParameters; string GetString(string key) { return(p.GetResolvedQueryStringValue(key, settings)); } IUrlParameter indices = value.Index == null || !value.Index.Equals(operation.Index) ? operation.Index : null; var searchType = GetString("search_type"); if (searchType == "query_then_fetch") { searchType = null; } var header = new { index = indices?.GetString(settings), search_type = searchType, preference = GetString("preference"), routing = GetString("routing"), ignore_unavailable = GetString("ignore_unavailable") }; var headerBytes = serializer.SerializeToBytes(header, memoryStreamFactory, SerializationFormatting.None); writer.WriteRaw(headerBytes); writer.WriteRaw(Newline); var bodyBytes = serializer.SerializeToBytes(operation, memoryStreamFactory, SerializationFormatting.None); writer.WriteRaw(bodyBytes); writer.WriteRaw(Newline); } }
internal RouteValues Optional(string route, IUrlParameter value) => Route(route, value, false);
internal RouteValues Required(string route, IUrlParameter value) => Route(route, value);
public string Resolve(IUrlParameter urlParameter) => urlParameter.GetString(_connectionSettings);
private static IReadOnlyCollection <string> IndicesPointingToAlias(IConnectionSettingsValues settings, IUrlParameter alias, GetAliasResponse aliasesResponse ) { if (!aliasesResponse.IsValid || !aliasesResponse.Indices.HasAny()) { return(EmptyReadOnly <string> .Collection); } var aliases = alias.GetString(settings).Split(','); var indices = from i in aliasesResponse.Indices where i.Value?.Aliases?.Keys?.Any(key => aliases.Contains(key)) ?? false select settings.Inferrer.IndexName(i.Key); return(indices.ToList()); }
public static void ShouldBeTrue(this bool b, IUrlParameter p) => b.Should().BeTrue(p?.GetString(TestClient.DefaultInMemoryClient.ConnectionSettings) ?? "NULL");
public string QueryStringValueType(IUrlParameter value) { if (value == null) return null; return value.GetString(this._settings); }
public static void ShouldBeTrue(this bool b, IUrlParameter p) => b.Should().BeTrue(p?.GetString(TestClient.GlobalDefaultSettings) ?? "NULL");
private static IEnumerable <AliasDefinition> AliasesPointingToIndex(IConnectionConfigurationValues settings, IUrlParameter indices, IGetAliasResponse aliasesResponse) { if (!aliasesResponse.IsValid || !aliasesResponse.Indices.HasAny()) { return(Enumerable.Empty <AliasDefinition>()); } var indexNames = indices.GetString(settings).Split(','); var aliases = new List <AliasDefinition>(); foreach (var indexName in indexNames) { if (aliasesResponse.Indices.ContainsKey(indexName)) { aliases.AddRange(aliasesResponse.Indices[indexName]); } } return(aliases); }
public string Resolve(IUrlParameter urlParameter) => urlParameter.GetString(_elasticsearchClientSettings);