コード例 #1
0
        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");
              };
        }
コード例 #2
0
 public CharacterController(ICharacterData characterData,
                            IRaceData raceData,
                            IAlignmentData alignmentData,
                            ISubraceData subraceData,
                            IClassData classData)
 {
     _characterData = characterData;
     _raceData      = raceData;
     _alignmentData = alignmentData;
     _subraceData   = subraceData;
     _classData     = classData;
 }
コード例 #3
0
 public RaceController(IRaceData raceData)
 {
     _raceData = raceData;
 }