public RaceModule(IRaceData raceDataStream, IOutput output) { Before += ctx => { String message = String.Format("{0} : [Host: {1}] {2}", DateTime.Now, ctx.Request.UserHostAddress, ctx.Request.Url.ToString()); output.WriteLine(message); String token = ctx.Request.Headers["X-Hamstring-Token"].SingleOrDefault(); if (token == null || token.Trim() != SERVICE_TOKEN) { output.WriteLine("=== ACCESS DENIED ==="); return HttpStatusCode.Forbidden; } return ctx.Response; }; Get["/races"] = routeParameters => { var races = raceDataStream.UpcomingRaces(); return Response.AsJson(races); }; After += ctx => { //http://en.wikipedia.org/wiki/List_of_HTTP_header_fields ctx.Response.Headers.Add("X-Powered-By", "HamstringFX.RaceService"); ctx.Response.Headers.Add("X-Version", "1.0"); }; }
public CharacterController(ICharacterData characterData, IRaceData raceData, IAlignmentData alignmentData, ISubraceData subraceData, IClassData classData) { _characterData = characterData; _raceData = raceData; _alignmentData = alignmentData; _subraceData = subraceData; _classData = classData; }
public RaceController(IRaceData raceData) { _raceData = raceData; }