anchor.diff:            path "/login" >>= OK "This should have some login info"
             path "/goodbye" >>= OK "Good bye!"
             basicAuth // from here on it will require authentication
  -          path "/api/v1/sensor" >>= JSON (Db.GetSensorIds())
  -          path "/api/v1/sensor/status" >>= JSON (Db.GetSensorStatus(Db.getCurrentTime()))
  +          path "/api/v1/sensor" >>= request (fun req -> JSON (Db.GetSensorIds()))
  +          path "/api/v1/sensor/status" >>= request (fun req -> JSON (Db.GetSensorStatus(Db.getCurrentTime())))
             pathScan "/api/v1/sensor/%s/%d" (fun (id, min) -> JSON (Db.AllDataFromDuration(id, min)))
             pathScan "/api/v1/sensor/%s" (fun (id) -> JSON (Db.AllSensorData(id)))
             pathScan "/api/v1/temperature/avg/%s/%d" (fun (id, min) -> JSON (Db.AvgTemperature(id, min)))
  
positive.code:           pathScan "/api/v1/noise/%s/%d" (fun (id, min) -> JSON (Db.NoiseValuesFromDuration(id, min)))
            pathScan "/api/v1/voc/avg/%s/%d" (fun (id, min) -> JSON (Db.AvgVoc(id, min)))
            pathScan "/api/v1/voc/%s/%d" (fun (id, min) -> JSON (Db.VocValuesFromDuration(id, min)))
            path "/api/v1/last" >>= JSON (Db.LastUpdate())
            // These are Geckboard specifig
            path "/api/v1.1/list" >>= JSON (Parser.ParseAll())
            pathScan "/api/v1.1/temperature/%s" (fun (id) -> JSON (Parser.ParseTempeature(id)))
            pathScan "/api/v1.1/noise/%s" (fun (id) -> JSON (Parser.ParseNoiseAverages(id)))
            pathScan "/api/v1.1/noise/avg/%s" (fun (id) -> JSON (Gecko.WrapToNumber (Db.AvgNoiseDaily(id).ToString(), DateTime.Now.ToShortTimeString())))
          ]
        POST >>= choose
          [ path "/api/v1/hello" >>= OK "Hello POST"
  
negative.code: 
  let basicAuth =
    Authentication.authenticateBasic (fun (x) -> Seq.exists (fun y -> y = x) Config.Users)
  
  let app : WebPart =
    choose
      [ GET >>= choose
          [ 
  