/// <summary> /// Issues a Jira web request /// </summary> HttpWebResponse JiraRequest( string RequestUrl, JiraMethod Method, object Input ) { // Get the username and password string UserName, Password; if( Credentials.TryGetValue( "jira.username", out UserName ) && Credentials.TryGetValue( "jira.password", out Password ) ) { // Send the request HttpWebRequest Request = (HttpWebRequest)WebRequest.Create( "https://jira.ol.epicgames.net/rest/api/2" + RequestUrl ); Request.Method = Enum.GetName( typeof( JiraMethod ), Method ); Request.Headers.Add( "Authorization", "Basic " + Convert.ToBase64String( UTF8Encoding.UTF8.GetBytes( UserName + ":" + Password ) ) ); Request.ContentType = "application/json"; if( Input != null ) { using( StreamWriter RequestWriter = new StreamWriter( Request.GetRequestStream(), Encoding.ASCII ) ) { JavaScriptSerializer Serializer = new JavaScriptSerializer(); RequestWriter.Write( Serializer.Serialize( Input ) ); } } // Check the response was ok return (HttpWebResponse)Request.GetResponse(); } else { return null; } }
/// <summary> /// Issues a Jira web request /// </summary> public HttpWebResponse JiraRequest( string RequestUrl, JiraMethod Method, object Input, HttpStatusCode ExpectedStatus ) { HttpWebResponse Response = JiraRequest( RequestUrl, Method, Input ); if( Response.StatusCode != ExpectedStatus ) { return null; } return Response; }