示例#1
0
        HttpResponse ___response_ocr(HttpRequest request)
        {
            if (HandlerCallback.OcrRunning)
            {
                return(new HttpResponse(new OCR_RESULT("OCR_ENGINE is busy").getStringJson()));
            }

            if (request.Url.Contains("?") == false)
            {
                return(new HttpResponse(new OCR_RESULT("QueryString is null").getStringJson()));
            }

            string files = string.Empty, front_side = string.Empty, back_side = string.Empty;
            string queryString = request.Url.Split('?')[1];

            if (queryString[0] == '/')
            {
                queryString = queryString.Substring(1);
            }
            if (!string.IsNullOrEmpty(queryString))
            {
                var paras = System.Web.HttpUtility.ParseQueryString(queryString);
                if (paras != null && paras.HasKeys())
                {
                    HandlerCallback.OcrRunning = true;
                    front_side = paras.Get("front_side");
                    back_side  = paras.Get("back_side");

                    var f1 = SaveImage(front_side);
                    var f2 = SaveImage(back_side);

                    if (string.IsNullOrEmpty(f1) || string.IsNullOrEmpty(f2))
                    {
                        HandlerCallback.OcrRunning = false;
                        return(new HttpResponse(new OCR_RESULT("Cannot download images").getStringJson()));
                    }

                    files = f1 + ";" + f2;

                    //Thread.Sleep(1000);

                    HandlerCallback.ocr_request_actractImage2Text(files);
                }
            }
            else
            {
                return(new HttpResponse(new OCR_RESULT("QueryString is null").getStringJson()));
            }

            _EVENT.WaitOne();

            _RESULT.urls = new string[] { front_side, back_side };

            return(new HttpResponse(new OCR_RESULT(true, _RESULT).getStringJson()));
        }
示例#2
0
 internal override bool Handle(object raw_data)
 {
     try
     {
         HandlerCallback?.Invoke(raw_data);
         ProcessAsyncHandler(HandlerCallbackAsync, raw_data);
     }
     catch (Exception e)
     {
         Owner.InternalLog.Error(e, $"Handler threw an exception");
         InformParentOfError(e);
     }
     // Always return true. If a HandleAny simply exists
     // at all then the message was handled.
     return(true);
 }
        public static IMsBuildAccessor ImplementGetProjectXmlAndXmlChangedEvents(string xml, HandlerCallback subscribeCallback, HandlerCallback unsubscribeCallback)
        {
            var mock = new Mock <IMsBuildAccessor>();

            mock.Setup(m => m.GetProjectXmlAsync(It.IsAny <UnconfiguredProject>())).Returns(Task.FromResult(xml));
            mock.Setup(m => m.SubscribeProjectXmlChangedEventAsync(It.IsAny <UnconfiguredProject>(), It.IsAny <EventHandler <ProjectXmlChangedEventArgs> >()))
            .Callback <UnconfiguredProject, EventHandler <ProjectXmlChangedEventArgs> >((proj, handler) => subscribeCallback(handler))
            .Returns(Task.CompletedTask);
            mock.Setup(m => m.UnsubscribeProjectXmlChangedEventAsync(It.IsAny <UnconfiguredProject>(), It.IsAny <EventHandler <ProjectXmlChangedEventArgs> >()))
            .Callback <UnconfiguredProject, EventHandler <ProjectXmlChangedEventArgs> >((proj, handler) => unsubscribeCallback(handler))
            .Returns(Task.CompletedTask);
            return(mock.Object);
        }