public async Task SendTaskStream(MethodDescriptor methodDescriptor, IMessage request) { var inner = new InnerRequest { ServiceName = methodDescriptor.Service.FullName, MethodName = methodDescriptor.Name, Msg = request.ToByteString() }; await call.RequestStream.WriteAsync(inner); }
public override Task <Empty> SendTask(InnerRequest request, ServerCallContext context) { Task.Run(async() => { ResponseQueue.queue.Enqueue(await backendClient.dispatchAsync(request)); }); return(Task.FromResult(new Empty())); }
protected override void OnPreRequest() { var queries = GetQueries(); while (queries.MoveNext()) { InnerRequest.AddQueryParam(queries.Current.Key, queries.Current.Value); } }
public async Task SendTask(MethodDescriptor methodDescriptor, IMessage request) { var inner = new InnerRequest { ServiceName = methodDescriptor.Service.FullName, MethodName = methodDescriptor.Name, Msg = request.ToByteString() }; await GetClient().SendTaskAsync(inner); }
public HttpResponseMessage RavenRoot() { var location = DatabasesLandlord.SystemConfiguration.VirtualDirectory != "/" ? DatabasesLandlord.SystemConfiguration.VirtualDirectory + "/" + RootPath : RootPath; var result = InnerRequest.CreateResponse(HttpStatusCode.Found); result.Headers.Location = new Uri(location, UriKind.Relative); return(result); }
public StringBuilder GetSignData() { StringBuilder sb = new StringBuilder(); sb.Append(nameof(LoginName)).Append(LoginName) .Append(nameof(ObjectId)).Append(ObjectId) .Append(nameof(ClientId)).Append(ClientId) .Append(nameof(ClientIp)).Append(ClientIp) .Append(nameof(InnerRequest)).Append(nameof(Sign)).Append(InnerRequest.GetSignData()) .Append(nameof(Timestamp)).Append(Timestamp.ToUlong()); return(sb); }
public HttpResponseMessage GetStudioFile(string path = null) { if (string.IsNullOrEmpty(Database.Configuration.RedirectStudioUrl) == false) { var result = InnerRequest.CreateResponse(HttpStatusCode.Found); result.Headers.Location = new Uri(Path.Combine(DatabasesLandlord.SystemConfiguration.ServerUrl, Database.Configuration.RedirectStudioUrl)); return(result); } var docPath = GetRequestUrl().Replace("/studio/", ""); return(WriteEmbeddedFile("~/Server/Html5Studio", "Raven.Database.Server.Html5Studio", "Raven.Studio.Html5", docPath)); }
public HttpResponseMessage RavenUiGet(string id = null) { if (string.IsNullOrEmpty(Database.Configuration.Server.RedirectStudioUrl) == false) { var result = InnerRequest.CreateResponse(HttpStatusCode.Found); result.Headers.Location = new Uri(Path.Combine(DatabasesLandlord.SystemConfiguration.ServerUrl, Database.Configuration.Server.RedirectStudioUrl)); return(result); } var docPath = GetRequestUrl().Replace("/raven/", ""); return(WriteEmbeddedFile(DatabasesLandlord.SystemConfiguration.Core.WebDir, "Raven.Database.Server.WebUI", null, docPath)); }
public string GenerateRequestJSON() { this.GeneratePaySign(); InnerRequest req = new InnerRequest(); req.appId = this._innerParams["appId"]; req.timeStamp = this._innerParams["timeStamp"]; req.nonceStr = this._innerParams["nonceStr"]; req.package = this.Package.GeneratePackageContent(); req.signType = "SHA1"; req.paySign = this._innerParams["paySign"]; return(req.ToJSON()); }
public HttpResponseMessage MoreLikeThisGet() { var nameValueCollection = new NameValueCollection(); foreach (var queryNameValuePair in InnerRequest.GetQueryNameValuePairs()) { nameValueCollection.Add(queryNameValuePair.Key, queryNameValuePair.Value); } var parameters = GetParametersFromPath(GetRequestUrl(), nameValueCollection); parameters.TransformerParameters = ExtractTransformerParameters(); parameters.ResultsTransformer = GetQueryStringValue("resultsTransformer"); parameters.Includes = GetQueryStringValues("include"); var index = Database.IndexStorage.GetIndexInstance(parameters.IndexName); if (index == null) { return(GetMessageWithObject(new { Error = "The index " + parameters.IndexName + " cannot be found" }, HttpStatusCode.NotFound)); } var indexEtag = Database.Indexes.GetIndexEtag(parameters.IndexName, null); if (MatchEtag(indexEtag)) { return(GetEmptyMessage(HttpStatusCode.NotModified)); } var result = Database.ExecuteMoreLikeThisQuery(parameters, GetRequestTransaction(), GetPageSize(Database.Configuration.MaxPageSize), Database.IndexQueryTriggers); if (MatchEtag(result.Etag)) { return(GetEmptyMessage(HttpStatusCode.NotModified)); } var msg = GetMessageWithObject(result.Result); WriteETag(result.Etag, msg); return(msg); }
public Dictionary <string, RavenJToken> ExtractTransformerParameters() { var result = new Dictionary <string, RavenJToken>(); foreach (var key in InnerRequest.GetQueryNameValuePairs().Select(pair => pair.Key)) { if (string.IsNullOrEmpty(key)) { continue; } if (key.StartsWith("qp-") || key.StartsWith("tp-")) { var realkey = key.Substring(3); result[realkey] = GetQueryStringValue(key); } } return(result); }
public override async Task <InnerResponse> dispatch(InnerRequest innerRequest, ServerCallContext context) { //Console.WriteLine(innerRequest.ServiceName + " " + innerRequest.MethodName); try { var callInvoker = channel.CreateCallInvoker(); var request = new RawMessage(innerRequest.Msg); var rawMethod = new RawMethod(innerRequest.ServiceName, innerRequest.MethodName); var result = await callInvoker.AsyncUnaryCall(rawMethod.method, null, new CallOptions(), request); return(new InnerResponse { Msg = ByteString.CopyFrom(result.msg) }); } catch (Exception e) { Console.WriteLine(e); throw; } }
private Dictionary <string, SortOptions> GetSortHints() { var result = new Dictionary <string, SortOptions>(); // backward compatibility foreach (var header in InnerRequest.Headers.Where(pair => pair.Key.StartsWith("SortHint-"))) { SortOptions sort; Enum.TryParse(GetHeader(header.Key), true, out sort); result[Uri.UnescapeDataString(header.Key)] = sort; } foreach (var pair in InnerRequest.GetQueryNameValuePairs().Where(pair => pair.Key.StartsWith("SortHint-", StringComparison.OrdinalIgnoreCase))) { var key = pair.Key; var value = pair.Value != null?Uri.UnescapeDataString(pair.Value) : null; SortOptions sort; Enum.TryParse(value, true, out sort); result[Uri.UnescapeDataString(key)] = sort; } return(result); }
public override WebResponse GetResponse() { return(InnerRequest.GetResponse()); }
// can't call protected method on InnerRequest. This shouldn't // cause any problems unless the request is serialized. //protected override void GetObjectData(System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext) //{ // InnerRequest.GetObjectData(serializationInfo, streamingContext); //} public override System.IO.Stream GetRequestStream() { return(InnerRequest.GetRequestStream()); }
public override WebResponse EndGetResponse(IAsyncResult asyncResult) { return(InnerRequest.EndGetResponse(asyncResult)); }
public override System.IO.Stream EndGetRequestStream(IAsyncResult asyncResult) { return(InnerRequest.EndGetRequestStream(asyncResult)); }
public string[] GetQueryStringValues(string key) { var items = InnerRequest.GetQueryNameValuePairs().Where(pair => pair.Key == key); return(items.Select(pair => (pair.Value != null) ? Uri.UnescapeDataString(pair.Value) : null).ToArray()); }
protected override void OnPreRequest() { InnerRequest.AddQueryParam("id", Mapset.Id.ToString()); }