public DefaultHandshakeNegotiator(IHostConfiguration hostConfiguration, IProtocolSelector protocolSelector, IQueryParametersBuilder queryParametersBuilder, IRouteParametersBuilder routeParametersBuilder, IRouteResolver routeResolver, ISubProtocolNegotiator subProtocolNegotiator) { _hostConfiguration = hostConfiguration; _protocolSelector = protocolSelector; _queryParametersBuilder = queryParametersBuilder; _routeParametersBuilder = routeParametersBuilder; _routeResolver = routeResolver; _subProtocolNegotiator = subProtocolNegotiator; }
private Uri GetRequestUri <T>(QueryCommand <T> command) { string requestUri = this.GetMessageBase <T>(); List <KeyValuePair <string, string> > queryStringParameters = new List <KeyValuePair <string, string> >(); if (command.QueryParameters != null) { IQueryParametersBuilder queryParametersBuilder = this.queryParametersBuilderFactory.GetParameterBuilder(command.QueryParameters); queryStringParameters.AddRange(queryParametersBuilder.GetQueryParameters(command.QueryParameters)); } queryStringParameters.AddRange(this.GetAdditionalParameters(command.AdditionalParameters)); queryStringParameters.ForEach(x => { requestUri = QueryHelpers.AddQueryString(requestUri, x.Key, x.Value); }); return(new Uri(requestUri, UriKind.Relative)); }