protected override void OnLoad(EventArgs e) { Response.Clear(); Response.ContentType = "text/xml"; string base64gheader = Request.Headers["Graffiti-Authorization"]; if (!string.IsNullOrEmpty(base64gheader)) { XmlTextWriter writer = new XmlTextWriter(Context.Response.OutputStream, Encoding.UTF8); try { var gheaderBytes = Convert.FromBase64String(base64gheader); string rawValue = Encoding.Default.GetString(gheaderBytes); int index = rawValue.IndexOf(":"); string username = rawValue.Substring(0, index); string password = rawValue.Substring(index + 1); IGraffitiUser gu = GraffitiUsers.Login(username, password, true); if (gu != null) { if (IsValidAccess(gu)) { HandleRequest(gu, writer); writer.Close(); } else { UnuathorizedRequest(); } return; } } catch (RESTConflict conflict) { Response.StatusCode = 409; writer.WriteElementString("error", conflict.Message); writer.Close(); return; } catch (Exception ex) { Response.StatusCode = 500; writer.WriteElementString("error", ex.Message); writer.Close(); } } UnuathorizedRequest(); base.OnLoad(e); }