// STREAMS private void PostEvents(HttpEntityManager manager, UriTemplateMatch match) { var stream = match.BoundVariables["stream"]; if (stream.IsEmptyString()) { SendBadRequest(manager, string.Format("Invalid request. Stream must be non-empty string")); return; } int expectedVersion; if (!GetExpectedVersion(manager, out expectedVersion)) { SendBadRequest(manager, string.Format("{0} header in wrong format.", SystemHeaders.ExpectedVersion)); return; } bool requireMaster; if (!GetRequireMaster(manager, out requireMaster)) { SendBadRequest(manager, string.Format("{0} header in wrong format.", SystemHeaders.RequireMaster)); return; } if (!requireMaster && _httpForwarder.ForwardRequest(manager)) { return; } PostEntry(manager, expectedVersion, requireMaster, stream); }
// STREAMS private void PostEvents(HttpEntityManager manager, UriTemplateMatch match) { var stream = match.BoundVariables["stream"]; if (stream.IsEmptyString()) { SendBadRequest(manager, string.Format("Invalid request. Stream must be non-empty string")); return; } string includedType; if (!GetIncludedType(manager, out includedType)) { SendBadRequest(manager, string.Format("{0} header in wrong format.", SystemHeaders.EventType)); return; } if (!manager.RequestCodec.HasEventTypes && includedType == null) { SendBadRequest(manager, "Must include an event type with the request either in body or as ES-EventType header."); return; } Guid includedId; if (!GetIncludedId(manager, out includedId)) { SendBadRequest(manager, string.Format("{0} header in wrong format.", SystemHeaders.EventId)); return; } if (!manager.RequestCodec.HasEventIds && includedId == Guid.Empty) { var uri = new Uri(new Uri(match.RequestUri + "/"), "incoming/" + Guid.NewGuid()).ToString(); var header = new[] { new KeyValuePair <string, string>("Location", uri) }; manager.ReplyTextContent("Forwarding to idempotent URI", HttpStatusCode.RedirectKeepVerb, "Temporary Redirect", "text/plain", header, e => { }); return; } int expectedVersion; if (!GetExpectedVersion(manager, out expectedVersion)) { SendBadRequest(manager, string.Format("{0} header in wrong format.", SystemHeaders.ExpectedVersion)); return; } bool requireMaster; if (!GetRequireMaster(manager, out requireMaster)) { SendBadRequest(manager, string.Format("{0} header in wrong format.", SystemHeaders.RequireMaster)); return; } if (!requireMaster && _httpForwarder.ForwardRequest(manager)) { return; } PostEntry(manager, expectedVersion, requireMaster, stream, includedId, includedType); }
private void OnProjections(HttpEntityManager http, UriTemplateMatch match) { if (_httpForwarder.ForwardRequest(http)) { return; } http.ReplyTextContent( "Moved", 302, "Found", "text/plain", new[] { new KeyValuePair <string, string>( "Location", new Uri(match.BaseUri, "/web/projections.htm").AbsoluteUri) }, x => Log.DebugException(x, "Reply Text Content Failed.")); }