コード例 #1
0
ファイル: DocumentLoader.cs プロジェクト: Wojdav/AngleSharp
        /// <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);
        }
コード例 #2
0
ファイル: DocumentLoader.cs プロジェクト: kk9599/AngleSharp
        /// <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));
        }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
        public void RemoveDocument(DocumentRequest documentRequest)
        {
            var p = _paramConverter.ConvertToParameter(documentRequest, "docID");

            dal.ExecSPQuery("RemoveDocument", con, p);
        }
コード例 #5
0
ファイル: HtmlFormElement.cs プロジェクト: zzc000/AngleSharp
 /// <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));
 }
コード例 #6
0
 /// <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));
 }
コード例 #7
0
 /// <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));
 }
コード例 #8
0
        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));
            }
        }
コード例 #9
0
        /// <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));
        }
コード例 #10
0
 public IDocumentGenerator GetGenerator(DocumentRequest request)
 {
     return(_generatorCache[request.DocumentType]);
 }
コード例 #11
0
        //Example endpoint
        public List <string> Get(DocumentRequest request)
        {
            var result = _database.ExampleData(_dbFactory);

            return(result);
        }
コード例 #12
0
        /// <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));
        }
コード例 #13
0
 /// <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);
     }
 }
コード例 #14
0
 /// <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());
 }