PeerCastStation.UI.HTTP.OWINEnv.GetAuthorizationToken C# (CSharp) Method

GetAuthorizationToken() public method

public GetAuthorizationToken ( ) : string
return string
    public string GetAuthorizationToken()
    {
      String result = null;
      if (this.RequestHeaders.ContainsKey("AUTHORIZATION")) {
        var md = System.Text.RegularExpressions.Regex.Match(
          this.RequestHeaders["AUTHORIZATION"][0],
          @"\s*BASIC (\S+)", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
        if (md.Success) {
          result = md.Groups[1].Value;
        }
      }
      if (result==null) {
        this.RequestParameters.TryGetValue("auth", out result);
      }
      if (result==null) {
        this.RequestCookies.TryGetValue("auth", out result);
      }
      return result;
    }

Usage Example

Ejemplo n.º 1
0
 private async Task OnProcess(IDictionary<string, object> owinenv)
 {
   var env = new OWINEnv(owinenv);
   var cancel_token = env.CallCanlelled;
   try {
     if (!HTTPUtils.CheckAuthorization(env.GetAuthorizationToken(), env.AccessControlInfo)) {
       throw new HTTPError(HttpStatusCode.Unauthorized);
     }
     if (env.RequestMethod!="HEAD" && env.RequestMethod!="GET") {
       throw new HTTPError(HttpStatusCode.MethodNotAllowed);
     }
     var query = env.RequestParameters;
     string value;
     if (query.TryGetValue("cmd", out value)) {
       switch (value) {
       case "viewxml": //リレー情報XML出力
         await OnViewXML(env, query, cancel_token);
         break;
       case "stop": //チャンネル停止
         await OnStop(env, query, cancel_token);
         break;
       case "bump": //チャンネル再接続
         await OnBump(env, query, cancel_token);
         break;
       default:
         throw new HTTPError(HttpStatusCode.BadRequest);
       }
     }
     else {
       throw new HTTPError(HttpStatusCode.BadRequest);
     }
   }
   catch (HTTPError err) {
     env.ResponseStatusCode = (int)err.StatusCode;
   }
   catch (UnauthorizedAccessException) {
     env.ResponseStatusCode = (int)HttpStatusCode.Forbidden;
   }
 }
All Usage Examples Of PeerCastStation.UI.HTTP.OWINEnv::GetAuthorizationToken