public void OnHttpRequest(ReefHttpRequest requet, ReefHttpResponse response) { LOGGER.Log(Level.Info, string.Format(CultureInfo.CurrentCulture, "HelloHttpHandler OnHttpRequest: URL: {0}, QueryString: {1}, inputStream: {2}.", requet.Url, requet.Querystring, ByteUtilities.ByteArrarysToString(requet.InputStream))); response.Status = HttpStatusCode.OK; response.OutputStream = ByteUtilities.StringToByteArrays("Byte array returned from HelloHttpHandler in CLR!!!"); }
public void OnHttpRequest(ReefHttpRequest request, ReefHttpResponse response) { string target = ParsePathInfo(request.PathInfo); LOGGER.Log(Level.Info, "Target: " + target + ". PathInfo: " + request.PathInfo); //if (target != null && target.ToLower(CultureInfo.CurrentCulture).Equals("driverstatus")) if (target != null && target.Equals("driverstatus")) { LOGGER.Log(Level.Info, "Target: " + target + ". Driver status: " + driveStatus.ToString()); string msg = string.Format(CultureInfo.CurrentCulture, "Current Driver status: {0} ", driveStatus.ToString()); BuildHttpResponse(response, HttpStatusCode.OK, msg); return; } if (target != null && target.Equals("taskstatus")) { LOGGER.Log(Level.Info, "Target: " + target + ". TaskStatus string: " + _taskContext.TaskStatusString()); BuildHttpResponse(response, HttpStatusCode.OK, _taskContext.TaskStatusString()); return; } if (target != null && target.ToLower(CultureInfo.CurrentCulture).Equals("run") && driveStatus == DriverStatus.Init) { BuildHttpResponse(response, HttpStatusCode.OK, "Driver is not ready, wait a few second then send request again!!!"); return; } if (target != null && target.ToLower(CultureInfo.CurrentCulture).Equals("run") && driveStatus == DriverStatus.RunningTasks) { string msg = string.Format(CultureInfo.CurrentCulture, "A job is running. Please check driver status and then submit your job again."); BuildHttpResponse(response, HttpStatusCode.OK, msg); return; } if (target != null && target.ToLower(CultureInfo.CurrentCulture).Equals("run") && driveStatus == DriverStatus.Idle) { string numberOfTasks = getQueryValue(request.Querystring, "numberoftasks"); if (numberOfTasks == null) { BuildHttpResponse(response, HttpStatusCode.OK, "Please specify number of tasks to run"); return; } driveStatus = DriverStatus.RunningTasks; using (LOGGER.LogFunction("HelloSimpleEventHandlers::Processing a new Job from web request")) { _taskContext = new TaskContext(); _taskContext.TotalTasks = int.Parse(numberOfTasks, CultureInfo.CurrentCulture); BuildHttpResponse(response, HttpStatusCode.OK, "Job from web request is submitted and is running!!!"); } foreach (var c in _activeContexts) { SubmitNextTask(c); } return; } BuildHttpResponse(response, HttpStatusCode.OK, "Unsupported query"); }
public static void BuildHttpResponse( ReefHttpResponse response, HttpStatusCode httpStatusCode, byte[] bytesResponse) { response.Status = httpStatusCode; response.OutputStream = bytesResponse; }
public static void BuildHttpResponse( ReefHttpResponse response, HttpStatusCode httpStatusCode, string strResponse) { response.Status = httpStatusCode; response.OutputStream = ByteUtilities.StringToByteArrays(strResponse); }
/// <summary> /// It gets HTTP request and close the contexts after receiving all the completed tasks /// </summary> /// <param name="requet"></param> /// <param name="resonse"></param> public void OnHttpRequest(ReefHttpRequest requet, ReefHttpResponse resonse) { var msg = string.Format(CultureInfo.CurrentCulture, "HelloTaskCompletedHandler OnHttpRequest: URL: {0}, QueryString: {1}, inputStream: {2}.", requet.Url, requet.Querystring, ByteUtilities.ByteArraysToString(requet.InputStream)); Logger.Log(Level.Info, msg); resonse.Status = HttpStatusCode.OK; while (_completedTasks.Count != 2) { Thread.Sleep(1000); Logger.Log(Level.Info, "_completedTasks received:" + _completedTasks.Count); } resonse.OutputStream = ByteUtilities.StringToByteArrays("Stopped!!!"); foreach (var t in _completedTasks) { t.ActiveContext.Dispose(); } _completedTasks.Clear(); }
public void OnHttpRequest(ReefHttpRequest requet, ReefHttpResponse response) { LOGGER.Log(Level.Info, "OnHttpRequest in DefaultHttpHandler is called."); response.Status = HttpStatusCode.OK; response.OutputStream = ByteUtilities.StringToByteArrays("Byte array returned from DefaultHttpHandler in CLR!!!"); }