/// <summary> /// Loads the data for the request asynchronously. /// </summary> /// <param name="request">The issued request.</param> /// <returns>The active download.</returns> public virtual IDownload DownloadAsync(DocumentRequest request) { var data = new Request { Address = request.Target, Content = request.Body, Method = request.Method }; foreach (var header in request.Headers) { data.Headers[header.Key] = header.Value; } return DownloadAsync(data, request.Source); }
/// <summary> /// Loads the data for the request asynchronously. /// </summary> /// <param name="request">The issued request.</param> /// <param name="cancel">The cancellation token.</param> /// <returns>The task creating the response.</returns> public virtual Task<IResponse> LoadAsync(DocumentRequest request, CancellationToken cancel) { var events = _context.Configuration.Events; var data = new Request { Address = request.Target, Content = request.Body, Method = request.Method }; foreach (var header in request.Headers) data.Headers[header.Key] = header.Value; var cookie = _context.Configuration.GetCookie(request.Target.Origin); if (cookie != null) data.Headers[HeaderNames.Cookie] = cookie; return _filter(data) ? _requesters.LoadAsync(data, events, cancel) : TaskEx.FromResult(default(IResponse)); }
/// <summary> /// Loads the data for the request asynchronously. /// </summary> /// <param name="request">The issued request.</param> /// <returns>The active download.</returns> public virtual IDownload DownloadAsync(DocumentRequest request) { var data = new Request { Address = request.Target, Content = request.Body, Method = request.Method }; foreach (var header in request.Headers) { data.Headers[header.Key] = header.Value; } var cookie = GetCookie(request.Target); if (cookie != null) { data.Headers[HeaderNames.Cookie] = cookie; } return DownloadAsync(data, request.Source); }
public void RemoveDocument(DocumentRequest documentRequest) { var p = _paramConverter.ConvertToParameter(documentRequest, "docID"); dal.ExecSPQuery("RemoveDocument", con, p); }
/// <summary> /// More information can be found at: /// http://www.w3.org/html/wg/drafts/html/master/forms.html#submit-get-action /// </summary> private DocumentRequest GetActionUrl(Url action) { return(DocumentRequest.Get(action, source: this, referer: Owner.DocumentUri)); }
/// <summary> /// Opens a new document loaded from the specified request /// asynchronously in the given context. /// </summary> /// <param name="context">The browsing context to use.</param> /// <param name="request">The request to issue.</param> /// <param name="cancel">The cancellation token.</param> /// <returns>The task that creates the document.</returns> public static Task <IDocument> OpenAsync(this IBrowsingContext context, DocumentRequest request, CancellationToken cancel = default) { request = request ?? throw new ArgumentNullException(nameof(request)); context = context ?? BrowsingContext.New(); return(context.NavigateToAsync(request, cancel)); }
/// <summary> /// Opens a new document loaded from the provided url asynchronously in /// the given context. /// </summary> /// <param name="context">The browsing context to use.</param> /// <param name="url">The URL to load.</param> /// <param name="cancel">The cancellation token.</param> /// <returns>The task that creates the document.</returns> public static Task <IDocument> OpenAsync(this IBrowsingContext context, Url url, CancellationToken cancel = default) { url = url ?? throw new ArgumentNullException(nameof(url)); return(context.OpenAsync(DocumentRequest.Get(url, referer: context?.Active?.DocumentUri), cancel)); }
public HttpResponseMessage AddDocuments([FromBody] DocumentRequest request) { try { List <MessageResponse> messages = new List <MessageResponse>(); int UserId = GetUserId(); foreach (DocumentObject documentObj in request.Documents) { bool validContent = false; string fileName = documentObj.Name; if (!string.IsNullOrWhiteSpace(documentObj.Base64)) { validContent = true; var data = Convert.FromBase64String(documentObj.Base64); MemoryStream ms = new MemoryStream(data); Tuple <string, string> tupleUrl = storageService.UploadPublicFile(ms, fileName, containerBucketName); Document newDoc = new Document() { Name = fileName, CreationDate = DateUtil.GetDateTimeNow(), Type = documentObj.Type, URL = tupleUrl.Item1, Uuid = tupleUrl.Item2, User = new User() { Id = UserId } }; _documentService.Create(newDoc); messages.Add(new MessageResponse { Type = MessageType.info.ToString("G"), Description = string.Format("Documento agregado correctamente: {0} UUID: {1} URL: {2}", newDoc.Name, newDoc.Uuid, newDoc.URL), }); } if (!string.IsNullOrWhiteSpace(documentObj.URL)) { validContent = true; Document newDoc = new Document() { Name = fileName, CreationDate = DateUtil.GetDateTimeNow(), Type = documentObj.Type, URL = documentObj.URL, Uuid = Guid.NewGuid().ToString(), User = new User() { Id = UserId } }; _documentService.Create(newDoc); messages.Add(new MessageResponse { Type = MessageType.info.ToString("G"), Description = string.Format("Documento agregado correctamente: {0} UUID: {1} URL: {2}", newDoc.Name, newDoc.Uuid, newDoc.URL), }); } if (!validContent) { messages.Add(new MessageResponse { Type = MessageType.error.ToString("G"), Description = string.Format("No se encontró el contenido del documento: {0}", documentObj.Name) }); } } return(CreateResponse(messages)); } catch (Exception e) { return(CreateErrorResponse(e)); } }
/// <summary> /// Plan to navigate to an action using the specified method with the given /// entity body of the mime type. /// http://www.w3.org/html/wg/drafts/html/master/forms.html#plan-to-navigate /// </summary> /// <param name="context">The browsing context.</param> /// <param name="request">The request to issue.</param> /// <param name="cancel"></param> /// <returns>A task that will eventually result in a new document.</returns> internal static Task <IDocument> NavigateToAsync(this IBrowsingContext context, DocumentRequest request, CancellationToken cancel = default) { var handler = context.GetNavigationHandler(request.Target); return(handler?.NavigateAsync(request, cancel) ?? Task.FromResult <IDocument>(null)); }
public IDocumentGenerator GetGenerator(DocumentRequest request) { return(_generatorCache[request.DocumentType]); }
//Example endpoint public List <string> Get(DocumentRequest request) { var result = _database.ExampleData(_dbFactory); return(result); }
/// <summary> /// Opens a new document loaded from the specified request /// asynchronously in the given context. /// </summary> /// <param name="context">The browsing context to use.</param> /// <param name="request">The request to issue.</param> /// <param name="cancel">The cancellation token.</param> /// <returns>The task that creates the document.</returns> public static async Task <IDocument> OpenAsync(this IBrowsingContext context, DocumentRequest request, CancellationToken cancel) { if (request == null) { throw new ArgumentNullException(nameof(request)); } var loader = context.Loader; if (loader != null) { var download = loader.DownloadAsync(request); cancel.Register(download.Cancel); using (var response = await download.Task.ConfigureAwait(false)) { if (response != null) { return(await context.OpenAsync(response, cancel).ConfigureAwait(false)); } } } return(await context.OpenNewAsync(request.Target.Href).ConfigureAwait(false)); }
/// <summary> /// 执行删除文档操作 /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='request'> /// 请求实体 /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <DocumentResponse> DeleteDocumentUsingPOSTAsync(this IOpenSearchAPI operations, DocumentRequest request, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.DeleteDocumentUsingPOSTWithHttpMessagesAsync(request, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
/// <summary> /// 执行删除文档操作 /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='request'> /// 请求实体 /// </param> public static DocumentResponse DeleteDocumentUsingPOST(this IOpenSearchAPI operations, DocumentRequest request) { return(Task.Factory.StartNew(s => ((IOpenSearchAPI)s).DeleteDocumentUsingPOSTAsync(request), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult()); }