added method() and is_method()
diff --git a/system/core/Input.php b/system/core/Input.php
index ee15f40..e8e3b1d 100755
--- a/system/core/Input.php
+++ b/system/core/Input.php
@@ -699,6 +699,35 @@
 		return (php_sapi_name() === 'cli' OR defined('STDIN'));
 	}
 
+	// --------------------------------------------------------------------
+
+	/**
+	 * Get Request Method
+	 *
+	 * Return the Request Method in lowercase
+	 *
+	 * @return 	mixed
+	 */
+	public function method()
+	{
+		return strtolower($this->server('REQUEST_METHOD'));
+	}
+
+	// --------------------------------------------------------------------
+
+	/**
+	 * Validate parameter against $_SERVER['REQUEST_METHOD']
+	 *
+	 * Return TRUE if method equals $_SERVER['REQUEST_METHOD'], otherwise return FALSE
+	 *
+	 * @param	string	request method to match
+	 * @return 	bool
+	 */
+	public function is_method($method = '')
+	{
+		return ($this->method() === strtolower($method));
+	}
+
 }
 
 /* End of file Input.php */
diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst
index b5fb52d..f8c4ba1 100644
--- a/user_guide_src/source/changelog.rst
+++ b/user_guide_src/source/changelog.rst
@@ -97,6 +97,8 @@
    -  Added method get_vars() to CI_Loader to retrieve all variables loaded with $this->load->vars().
    -  is_loaded() function from system/core/Commons.php now returns a reference.
    -  $config['rewrite_short_tags'] now has no effect when using PHP 5.4 as *<?=* will always be available.
+   -  Added method() to CI_Input to retrieve $_SERVER['REQUEST_METHOD'] in lowercase.
+   -  Added is_method() to CI_Input to validate custom request method against $_SERVER['REQUEST_METHOD'].
 
 Bug fixes for 3.0
 ------------------
diff --git a/user_guide_src/source/libraries/input.rst b/user_guide_src/source/libraries/input.rst
index bcf1173..96d1f07 100644
--- a/user_guide_src/source/libraries/input.rst
+++ b/user_guide_src/source/libraries/input.rst
@@ -99,7 +99,7 @@
 
 ::
 
-	$this->input->post(NULL, TRUE); // returns all POST items with XSS filter 
+	$this->input->post(NULL, TRUE); // returns all POST items with XSS filter
 	$this->input->post(); // returns all POST items without XSS filter
 
 $this->input->get()
@@ -119,9 +119,9 @@
 
 ::
 
-	$this->input->get(NULL, TRUE); // returns all GET items with XSS filter 
+	$this->input->get(NULL, TRUE); // returns all GET items with XSS filter
 	$this->input->get(); // returns all GET items without XSS filtering
-	
+
 
 $this->input->get_post()
 =========================
@@ -298,3 +298,28 @@
 
 	$this->input->is_cli_request()
 
+$this->input->method();
+=====================================
+
+Returns the $_SERVER['REQUEST_METHOD'] in lowercase.
+
+::
+
+	$this->input->method();
+
+$this->input->is_method($method);
+=====================================
+
+Returns TRUE if given method equals $_SERVER['REQUEST_METHOD'], otherwise returns FALSE.
+
+::
+
+	if ( ! $this->input->is_method('post'))
+	{
+	     echo 'This is NOT a POST request';
+	}
+	else
+	{
+	     echo 'This is a POST request';
+	}
+