/// <summary> /// Constructor accepts a GCalRequest from which to generate a response /// </summary> /// <param name="request">Incoming request from which to generate a response</param> public GCalFreeBusyResponse(GCalFreeBusyRequest request) { escapedSubject = new StringBuilder(256); escapedLocation = new StringBuilder(1024); escapedOrganizer = new StringBuilder(256); escapedCommonName = new StringBuilder(256); this.request = request; }
private void ProcessGCalRequest() { GCalFreeBusyRequest gcalRequest = null; try { Uri referrer = new Uri(Request.ServerVariables["HTTP_REFERER"]); if (referrer != null) { _useSSL = referrer.Scheme.Equals("https"); } } catch (System.ArgumentException) { // Missing referrer - use non-SSL } catch (System.UriFormatException) { // Bad referrer - use non-SSL } try { string requestString = Request.Form["text"]; gcalRequest = new GCalFreeBusyRequest(requestString); GCalFreeBusyResponse gcalResponse = new GCalFreeBusyResponse(gcalRequest); _responseString = gcalResponse.GenerateResponse(); } catch (GCalExchangeException ex) { GCalErrorResponse gcalResponse = new GCalErrorResponse(gcalRequest, ex); _responseString = gcalResponse.GenerateResponse(); _log.Error(ex); } catch (Exception ex) { GCalErrorResponse gcalResponse = new GCalErrorResponse(ex); _responseString = gcalResponse.GenerateResponse(); _log.Error(ex); } }
private void ProcessGCalRequest() { GCalFreeBusyRequest gcalRequest = null; try { Uri referrer = new Uri(Request.ServerVariables["HTTP_REFERER"]); if (referrer != null) { _useSSL = referrer.Scheme.Equals("https"); } } catch (System.ArgumentException) { // Missing referrer - use non-SSL } catch (System.UriFormatException) { // Bad referrer - use non-SSL } try { string requestString = Request.Form["text"]; gcalRequest = new GCalFreeBusyRequest(requestString); GCalFreeBusyResponse gcalResponse = new GCalFreeBusyResponse(gcalRequest); _responseString = gcalResponse.GenerateResponse(); } catch (GCalExchangeException ex) { GCalErrorResponse gcalResponse = new GCalErrorResponse(gcalRequest, ex); _responseString = gcalResponse.GenerateResponse(); _log.Error( ex ); } catch (Exception ex) { GCalErrorResponse gcalResponse = new GCalErrorResponse(ex); _responseString = gcalResponse.GenerateResponse(); _log.Error( ex ); } }
/// <summary> /// Generate an error response from a request /// </summary> /// <param name="request">request that generated error</param> /// <param name="exception">The exception from the error</param> public GCalErrorResponse(GCalFreeBusyRequest request, GCalExchangeException exception) { if (request != null) { versionId = request.VersionNumber; messageId = request.MessageId; } errorMessage = exception.Message; errorId = (int)(exception.ErrorCode); }
public void TestParse() { string id = "test-id"; List<string> emails = new List<string>(); emails.Add("*****@*****.**"); emails.Add("*****@*****.**"); emails.Add("*****@*****.**"); emails.Add("*****@*****.**"); DateTime start = DateUtil.ParseDateToUtc("2008-01-01T00:00:00.000Z"); DateTime end = DateUtil.ParseDateToUtc("2008-01-31T00:00:00.000Z"); DateTime since = DateUtil.ParseDateToUtc("2008-01-01T00:00:00.000Z"); string tz = "America/Los_Angeles"; string query = string.Format("[ 1, {0}, [{1}], {2}/{3}, {4}, {5}]", id, createEmailList(emails), createDate(start), createDate(end), createDateTime(since), tz); GCalFreeBusyRequest request = new GCalFreeBusyRequest(query); Assert.AreEqual(start, request.StartDate); Assert.AreEqual(end, request.EndDate); Assert.AreEqual(since, request.Since); Assert.AreEqual(id, request.MessageId); Assert.AreEqual("1", request.VersionNumber); Assert.AreEqual(emails.Count, request.ExchangeUsers.Length); for (int i = 0; i < request.ExchangeUsers.Length; i++) { Assert.AreEqual(emails[i], request.ExchangeUsers[i]); } }