Esempio n. 1
0
        public SirenConverter(IHypermediaRouteResolver routeResolver, IQueryStringBuilder queryStringBuilder, HypermediaConverterConfiguration configuration = null)
        {
            this.queryStringBuilder = queryStringBuilder;
            this.routeResolver      = routeResolver;

            this.configuration = configuration ?? DefaultConfiguration;
        }
Esempio n. 2
0
 internal HttpWrapClientService(IHttpWrapConfiguration configuration, IQueryStringBuilder queryStringBuilder)
 {
     _configuration      = configuration;
     _queryStringBuilder = queryStringBuilder;
     _httpClient         = _configuration.GetHttpClient();
     _interceptors       = new List <IHttpInterceptor>();
 }
Esempio n. 3
0
 internal HttwrapClient(IHttwrapConfiguration configuration, IQueryStringBuilder queryStringBuilder)
 {
     _configuration      = configuration;
     _queryStringBuilder = queryStringBuilder;
     _httpClient         = _configuration.GetHttpClient();
     _interceptors       = _configuration.GetInterceptors();
 }
Esempio n. 4
0
 public StackExchangeClient(HttpClient httpClient, IQueryStringBuilder queryStringBuilder, JsonSerializer serializer, ILogger logger)
 {
     _httpClient         = httpClient;
     _queryStringBuilder = queryStringBuilder;
     _serializer         = serializer;
     _logger             = logger;
 }
 /// <summary>
 /// Lists all floating IPs for the account.
 /// </summary>
 /// <typeparam name="T">The return type.</typeparam>
 /// <param name="queryString">Options for filtering.</param>
 /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
 public virtual async Task <T> ListFloatingIPsAsync <T>(IQueryStringBuilder queryString, CancellationToken cancellationToken = default(CancellationToken))
     where T : IEnumerable <IServiceResource>
 {
     return(await BuildListFloatingIPsRequest(queryString, cancellationToken)
            .SendAsync()
            .ReceiveJson <T>()
            .PropogateOwnerToChildren(this).ConfigureAwait(false));
 }
        /// <summary>
        /// Builds the <see cref="ListFloatingIPsAsync{T}"/> request.
        /// </summary>
        /// <param name="queryString">Options for filtering.</param>
        /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
        public virtual async Task <PreparedRequest> BuildListFloatingIPsRequest(IQueryStringBuilder queryString, CancellationToken cancellationToken = default(CancellationToken))
        {
            PreparedRequest request = await Endpoint.PrepareGetResourceRequest("floatingips", cancellationToken).ConfigureAwait(false);

            request.Url.SetQueryParams(queryString?.Build());

            return(request);
        }
Esempio n. 7
0
 public HypermediaQueryLocationFormatter(
     IRouteResolverFactory routeResolverFactory,
     IRouteKeyFactory routeKeyFactory,
     IQueryStringBuilder queryStringBuilder,
     IHypermediaUrlConfig defaultHypermediaUrlConfig)
     : base(routeResolverFactory, routeKeyFactory, defaultHypermediaUrlConfig)
 {
     this.queryStringBuilder = queryStringBuilder;
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="Query{TSource}" /> class.
        /// </summary>
        public Query(string name, QueryOptions options)
        {
            Guard.Argument(name, nameof(name)).NotNull().NotEmpty();

            this.Name    = name;
            this.options = options;
            if (options?.QueryStringBuilderFactory != null)
            {
                this.QueryStringBuilder = options.QueryStringBuilderFactory();
            }
        }
        /// <summary>
        /// Builds a <see cref="ListSecurityGroupRulesAsync{T}"/> request.
        /// </summary>
        /// <param name="queryString">Options for filtering.</param>
        /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
        public async Task <PreparedRequest> BuildListSecurityGroupRulesRequest(IQueryStringBuilder queryString, CancellationToken cancellationToken = default(CancellationToken))
        {
            Url endpoint = await Endpoint.GetEndpoint(cancellationToken).ConfigureAwait(false);

            var request = endpoint
                          .AppendPathSegments("security-group-rules")
                          .Authenticate(AuthenticationProvider)
                          .PrepareGet(cancellationToken);

            request.Url.SetQueryParams(queryString?.Build());

            return(request);
        }
Esempio n. 10
0
        public void Build_AllElements_StringMatch()
        {
            // Arrange
            Query query     = new Query();
            Query subSelect = new Query();

            EnumHelper gqlEnumEnabled  = new EnumHelper().Enum("ENABLED");
            EnumHelper gqlEnumDisabled = new EnumHelper("DISABLED");

            List <object> subSelList = new List <object>(new object[] { "subName", "subMake", "subModel" });

            Dictionary <string, object> mySubDict = new Dictionary <string, object>
            {
                { "subMake", "aston martin" },
                { "subState", "ca" },
                { "subLimit", 1 },
                { "__debug", gqlEnumDisabled },
                { "SuperQuerySpeed", gqlEnumEnabled }
            };

            subSelect
            .Select(subSelList)
            .Name("subSelect")
            .Where(mySubDict);

            List <object> selList = new List <object>(new object[] { "id", subSelect, "name", "make", "model" });

            query
            .Name("test1")
            .Alias("test1Alias")
            .Select("more", "things", "in_a_select")
            .Select(selList)
            .Comment("A single line Comment");

            IQueryStringBuilder queryString = query.Builder;

            // Act
            string buildStr = RemoveWhitespace(queryString.Build(query));

            // Assert
            Assert.AreEqual(RemoveWhitespace("test1Alias:test1{#AsinglelineCommentmorethingsin_a_selectidsubSelect(subMake:\"aston martin\",subState:\"ca\",subLimit:1,__debug:DISABLED,SuperQuerySpeed:ENABLED){subNamesubMakesubModel}namemakemodel}"), buildStr);
        }
Esempio n. 11
0
        /// <summary>
        /// Adds the Hypermedia Extensions.
        /// by default a Siren Formatters is added and
        /// the entry assembly is crawled for Hypermedia route attributes
        /// </summary>
        /// <param name="options">The options object of the MVC component.</param>
        /// <param name="alternateRouteRegister">If you wish to use another RoutRegister pass it here, also if you wish another assembly to be crawled.</param>
        /// <param name="alternateQueryStringBuilder">Provide an alternate QueryStringBuilder used for building URL's.</param>
        /// <param name="hypermediaUrlConfig">Configures the URL used in Hypermedia responses.</param>
        /// <param name="hypermediaConverterConfiguration">Configures the creation of Hypermedia documents.</param>
        public static void AddHypermediaExtensions(
            this MvcOptions options,
            IRouteRegister alternateRouteRegister           = null,
            IQueryStringBuilder alternateQueryStringBuilder = null,
            IHypermediaUrlConfig hypermediaUrlConfig        = null,
            IHypermediaConverterConfiguration hypermediaConverterConfiguration = null)
        {
            var routeRegister        = alternateRouteRegister ?? new AttributedRoutesRegister();
            var routeResolverFactory = new RegisterRouteResolverFactory(routeRegister);
            var routeKeyFactory      = new RouteKeyFactory(routeRegister);

            var queryStringBuilder = alternateQueryStringBuilder ?? new QueryStringBuilder();
            var hypermediaQueryLocationFormatter  = new HypermediaQueryLocationFormatter(routeResolverFactory, routeKeyFactory, queryStringBuilder, hypermediaUrlConfig);
            var hypermediaEntityLocationFormatter = new HypermediaEntityLocationFormatter(routeResolverFactory, routeKeyFactory, hypermediaUrlConfig);

            var sirenHypermediaConverterFactory = new SirenHypermediaConverterFactory(queryStringBuilder, hypermediaConverterConfiguration?.SirenConverterConfiguration);
            var sirenHypermediaFormatter        = new SirenHypermediaFormatter(routeResolverFactory, routeKeyFactory, sirenHypermediaConverterFactory, hypermediaUrlConfig);

            options.OutputFormatters.Insert(0, hypermediaQueryLocationFormatter);
            options.OutputFormatters.Insert(0, hypermediaEntityLocationFormatter);
            options.OutputFormatters.Insert(0, sirenHypermediaFormatter);
        }
Esempio n. 12
0
        public void Where_ClearQueryString_EmptyQueryString()
        {
            // Arrange
            IQuery query = new Query();

            List <object> objList      = new List <object>(new object[] { "aa", "bb", "cc" });
            EnumHelper    enumHaystack = new EnumHelper("HAYstack");

            Dictionary <string, object> fromToMap = new Dictionary <string, object>
            {
                { "from", 444.45 },
                { "to", 555.45 },
            };

            Dictionary <string, object> nestedListMap = new Dictionary <string, object>
            {
                { "from", 123 },
                { "to", 454 },
                { "recurse", objList },
                { "map", fromToMap },
                { "name", enumHaystack }
            };

            query
            .Name("test1")
            .Select("name")
            .Where(nestedListMap);

            IQueryStringBuilder queryString = query.Builder;

            queryString.AddParams(query);

            // Act
            queryString.QueryString.Clear();

            // Assert
            Assert.IsTrue(string.IsNullOrEmpty(queryString.QueryString.ToString()));
        }
Esempio n. 13
0
 public SirenHypermediaConverterFactory(IQueryStringBuilder queryStringBuilder, HypermediaExtensionsOptions hypermediaExtensionsOptions)
 {
     this.queryStringBuilder          = queryStringBuilder;
     this.hypermediaExtensionsOptions = hypermediaExtensionsOptions;
 }
 public SirenHypermediaConverterFactory(IQueryStringBuilder queryStringBuilder, ISirenConverterConfiguration sirenConverterConfiguration = null)
 {
     this.queryStringBuilder          = queryStringBuilder;
     this.sirenConverterConfiguration = sirenConverterConfiguration;
 }
 public CourseLandingControllerTests()
 {
     fakeApplicationLogger       = A.Fake <IApplicationLogger>(ops => ops.Strict());
     fakeBuildQueryStringService = A.Fake <IQueryStringBuilder <CourseSearchFilters> >(ops => ops.Strict());
 }
Esempio n. 16
0
 public PlacesService(IQueryStringBuilder queryStringBuilder)
 {
     _queryStringBuilder = queryStringBuilder;
 }
Esempio n. 17
0
 protected override void FinalizeSetUp()
 {
     _queryStringBuilder = new QueryStringBuilder();
 }
Esempio n. 18
0
 protected override void FinalizeSetUp()
 {
     _queryStringBuilder = new QueryStringBuilder();
 }
 public CourseLandingController(IApplicationLogger loggingService, IQueryStringBuilder <CourseSearchFilters> queryStringBuilder) : base(loggingService)
 {
     this.queryStringBuilder = queryStringBuilder;
 }