Repository: MarketSquare/robotframework-requests (language: python)

Issue:
GET On Session throws error "got multiple values for keyword argument 'verify'" when verify=${False} passed
Hi @lucagiove ,

The keyword "GET On Session" throws the following error if value for 'verify' is passed. Since I couldn't pass this optional parameter, I was not able to disable server's TLS certificate validation. 

TypeError: get() got multiple values for keyword argument 'verify'

`GET On Session   session        /auth   params=${get params}    headers=${headers}  allow_redirects=${false}   verify=${False}`

```
    def get_on_session(self, alias, url, params=None,
                       expected_status=None, msg=None, **kwargs):
```
| ``verify``  | Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use. Defaults to ``True``. |

Error Snip
----------
${resp} = RequestsLibrary . GET On Session session, /auth, params=${get params}, headers=${headers}, allow_redirects=${false}, verify=${False}
Documentation:	
Sends a GET request on a previously created HTTP Session.
Start / End / Elapsed:	20210202 16:51:59.030 / 20210202 16:51:59.032 / 00:00:00.002
16:51:59.030	TRACE	Arguments: [ 'session' | '/auth' | params={'client_id': 'test-app',
 'redirect_uri': 'http://127.0.0.1:5555/callback',
 'response_type': 'code',
 'scope': 'audience:server:client_id:test-app openid profile email offline_access',
 'state': 'test123'} | headers={'Host': 'xxxxx.local'} | allow_redirects=False | verify=False ]	
16:51:59.032	FAIL	TypeError: get() got multiple values for keyword argument 'verify'	
16:51:59.032	DEBUG	Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/RequestsLibrary/utils.py", line 138, in decorator
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/RequestsLibrary/RequestsOnSessionKeywords.py", line 49, in get_on_session
    params=params, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/RequestsLibrary/SessionKeywords.py", line 575, in _common_request
    **kwargs)	
16:51:59.024	TRACE	Arguments: [  ]


bash-4.2# pip list | grep req
requests                  2.25.1
requestsexceptions        1.4.0
robotframework-requests   0.8.0
bash-4.2#

Regards,
Sivaraman.R 


Discussion / hints:

Fix patch:
diff --git a/doc/RequestsLibrary.html b/doc/RequestsLibrary.html
index 482981b3..d5db86aa 100644
--- a/doc/RequestsLibrary.html
+++ b/doc/RequestsLibrary.html
@@ -1096,7 +1096,7 @@
 jQuery.extend({highlight:function(e,t,n,r){if(e.nodeType===3){var i=e.data.match(t);if(i){var s=document.createElement(n||"span");s.className=r||"highlight";var o=e.splitText(i.index);o.splitText(i[0].length);var u=o.cloneNode(true);s.appendChild(u);o.parentNode.replaceChild(s,o);return 1}}else if(e.nodeType===1&&e.childNodes&&!/(script|style)/i.test(e.tagName)&&!(e.tagName===n.toUpperCase()&&e.className===r)){for(var a=0;a<e.childNodes.length;a++){a+=jQuery.highlight(e.childNodes[a],t,n,r)}}return 0}});jQuery.fn.unhighlight=function(e){var t={className:"highlight",element:"span"};jQuery.extend(t,e);return this.find(t.element+"."+t.className).each(function(){var e=this.parentNode;e.replaceChild(this.firstChild,this);e.normalize()}).end()};jQuery.fn.highlight=function(e,t){var n={className:"highlight",element:"span",caseSensitive:false,wordsOnly:false};jQuery.extend(n,t);if(e.constructor===String){e=[e]}e=jQuery.grep(e,function(e,t){return e!=""});e=jQuery.map(e,function(e,t){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")});if(e.length==0){return this}var r=n.caseSensitive?"":"i";var i="("+e.join("|")+")";if(n.wordsOnly){i="\\b"+i+"\\b"}var s=new RegExp(i,r);return this.each(function(){jQuery.highlight(this,s,n.element,n.className)})}
 </script>
 <script type="text/javascript">
-libdoc = {"name": "RequestsLibrary", "doc": "<p>RequestsLibrary is a Robot Framework library aimed to provide HTTP api testing functionalities by wrapping the well known Python Requests Library.</p>\n<h3 id=\"Table of contents\">Table of contents</h3>\n<ul>\n<li><a href=\"#Usage\" class=\"name\">Usage</a></li>\n<li><a href=\"#Response%20Object\" class=\"name\">Response Object</a></li>\n<li><a href=\"#Keywords\" class=\"name\">Keywords</a></li>\n</ul>\n<h2 id=\"Usage\">Usage</h2>\n<p>Before making an HTTP request a new connection needs to be prepared this can be done with <a href=\"#Create%20Session\" class=\"name\">Create Session</a> keyword. Then you can execute any <span class=\"name\">* On Session</span> keywords below some examples:</p>\n<pre>\n  <b>*</b> Settings <b>*</b>\n  Library               Collections\n  Library               RequestsLibrary\n\n  Suite Setup           Create Session    jsonplaceholder    <a href=\"https://jsonplaceholder.typicode.com\">https://jsonplaceholder.typicode.com</a>\n\n  <b>*</b> Test Cases <b>*</b>\n\n  Get Request Test\n      Create Session    google             <a href=\"http://www.google.com\">http://www.google.com</a>\n\n      ${resp_google}=   GET On Session     google             /           expected_status=200\n      ${resp_json}=     GET On Session     jsonplaceholder    /posts/1\n\n      Should Be Equal As Strings           ${resp_google.reason}    OK\n      Dictionary Should Contain Value      ${resp_json.json()}    sunt aut facere repellat provident occaecati excepturi optio reprehenderit\n\n  Post Request Test\n      &amp;{data}=          Create dictionary  title=Robotframework requests  body=This is a test!  userId=1\n      ${resp}=          POST On Session    jsonplaceholder     /posts    json=${data}\n\n      Status Should Be                     201    ${resp}\n      Dictionary Should Contain Key        ${resp.json()}     id\n</pre>\n<h2 id=\"Response Object\">Response Object</h2>\n<p>All the HTTP requests keywords (GET, POST, PUT, etc.) return an extremely useful Response object. The Response object contains a server\u2019s response to an HTTP request.</p>\n<p>You can access the different attributes with the dot notation in this way: <code>${response.json()}</code> or <code>${response.text}</code>. Below the list of the most useful attributes:</p>\n<table border=\"1\">\n<tr>\n<th>Attributes</th>\n<th>Explanation</th>\n</tr>\n<tr>\n<td>content</td>\n<td>Content of the response, in bytes.</td>\n</tr>\n<tr>\n<td>cookies</td>\n<td>A CookieJar of Cookies the server sent back.</td>\n</tr>\n<tr>\n<td>elapsed</td>\n<td>The amount of time elapsed between sending the request and the arrival of the response (as a timedelta). This property specifically measures the time taken between sending the first byte of the request and finishing parsing the headers. It is therefore unaffected by consuming the response content or the value of the stream keyword argument.</td>\n</tr>\n<tr>\n<td>encoding</td>\n<td>Encoding to decode with when accessing <code>response.text.</code></td>\n</tr>\n<tr>\n<td>headers</td>\n<td>Case-insensitive Dictionary of Response Headers. For example, <code>headers['content-encoding']</code> will return the value of a `Content-Encoding' response header.</td>\n</tr>\n<tr>\n<td>history</td>\n<td>A list of Response objects from the history of the Request. Any redirect responses will end up here. The list is sorted from the oldest to the most recent request.</td>\n</tr>\n<tr>\n<td>json</td>\n<td>Returns the json-encoded content of a response, if any. Parameters: <code>**kwargs</code> \u2013 Optional arguments that json.loads takes. Raises:        ValueError \u2013 If the response body does not contain valid json.</td>\n</tr>\n<tr>\n<td>ok</td>\n<td>Returns True if status_code is less than 400, False if not.</td>\n</tr>\n<tr>\n<td>reason</td>\n<td>Textual reason of responded HTTP Status, e.g. <code>Not Found</code> or <code>OK</code>.</td>\n</tr>\n<tr>\n<td>status_code</td>\n<td>Integer Code of responded HTTP Status, e.g. 404 or 200.</td>\n</tr>\n<tr>\n<td>text</td>\n<td>Content of the response, in unicode. If <code>response.encoding</code> is <code>None</code>, encoding will be guessed using chardet. The encoding of the response content is determined based solely on HTTP headers, following RFC 2616 to the letter. If you can take advantage of non-HTTP knowledge to make a better guess at the encoding, you should set <code>response.encoding</code> appropriately before accessing this property.</td>\n</tr>\n<tr>\n<td>url</td>\n<td>Final URL location of Response.</td>\n</tr>\n</table>", "version": "0.8rc1", "generated": "2021-01-02 00:27:46", "type": "LIBRARY", "scope": "GLOBAL", "docFormat": "HTML", "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/__init__.py", "lineno": 19, "tags": [], "inits": [], "keywords": [{"name": "Create Client Cert Session", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "url", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "url"}, {"name": "headers", "types": [], "default": "{}", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "headers={}"}, {"name": "cookies", "types": [], "default": "{}", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "cookies={}"}, {"name": "client_certs", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "client_certs=None"}, {"name": "timeout", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "timeout=None"}, {"name": "proxies", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "proxies=None"}, {"name": "verify", "types": [], "default": "False", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "verify=False"}, {"name": "debug", "types": [], "default": "0", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "debug=0"}, {"name": "max_retries", "types": [], "default": "3", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "max_retries=3"}, {"name": "backoff_factor", "types": [], "default": "0.1", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "backoff_factor=0.1"}, {"name": "disable_warnings", "types": [], "default": "0", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "disable_warnings=0"}, {"name": "retry_status_list", "types": [], "default": "[]", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "retry_status_list=[]"}, {"name": "retry_method_list", "types": [], "default": "['PUT', 'DELETE', 'OPTIONS', 'TRACE', 'HEAD', 'GET']", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "retry_method_list=['PUT', 'DELETE', 'OPTIONS', 'TRACE', 'HEAD', 'GET']"}], "doc": "<p>Create Session: create a HTTP session to a server</p>\n<p><code>url</code> Base url of the server</p>\n<p><code>alias</code> Robot Framework alias to identify the session</p>\n<p><code>headers</code> Dictionary of default headers</p>\n<p><code>cookies</code> Dictionary of cookies</p>\n<p><code>client_certs</code> ['client certificate', 'client key'] PEM files containing the client key and certificate</p>\n<p><code>timeout</code> Connection timeout</p>\n<p><code>proxies</code> Dictionary that contains proxy urls for HTTP and HTTPS communication</p>\n<p><code>verify</code> Whether the SSL cert will be verified. A CA_BUNDLE path can also be provided. Defaults to False.</p>\n<p><code>debug</code> Enable http verbosity option more information <a href=\"https://docs.python.org/2/library/httplib.html#httplib.HTTPConnection.set_debuglevel\">https://docs.python.org/2/library/httplib.html#httplib.HTTPConnection.set_debuglevel</a></p>\n<p><code>max_retries</code> Number of maximum retries each connection should attempt. By default it will retry 3 times in case of connection errors only. A 0 value will disable any kind of retries regardless of other retry settings. In case the number of retries is reached a retry exception is raised.</p>\n<p><code>disable_warnings</code> Disable requests warning useful when you have large number of testcases</p>\n<p><code>backoff_factor</code> Introduces a delay time between retries that is longer after each retry. eg. if backoff_factor is set to 0.1 the sleep between attemps will be: 0.0, 0.2, 0.4 More info here: <a href=\"https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html\">https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html</a></p>\n<p><code>retry_method_list</code> List of uppercased HTTP method verbs where retries are allowed. By default retries are allowed only on HTTP requests methods that are considered to be idempotent (multiple requests with the same parameters end with the same state). eg. set to ['POST', 'GET'] to retry only those kind of requests.</p>\n<p><code>retry_status_list</code> List of integer HTTP status codes that, if returned, a retry is attempted. eg. set to [502, 503] to retry requests if those status are returned. Note that max_retries must be greater than 0.</p>", "shortdoc": "Create Session: create a HTTP session to a server", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/SessionKeywords.py", "lineno": 191}, {"name": "Create Custom Session", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "url", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "url"}, {"name": "auth", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "auth"}, {"name": "headers", "types": [], "default": "{}", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "headers={}"}, {"name": "cookies", "types": [], "default": "{}", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "cookies={}"}, {"name": "timeout", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "timeout=None"}, {"name": "proxies", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "proxies=None"}, {"name": "verify", "types": [], "default": "False", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "verify=False"}, {"name": "debug", "types": [], "default": "0", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "debug=0"}, {"name": "max_retries", "types": [], "default": "3", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "max_retries=3"}, {"name": "backoff_factor", "types": [], "default": "0.1", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "backoff_factor=0.1"}, {"name": "disable_warnings", "types": [], "default": "0", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "disable_warnings=0"}, {"name": "retry_status_list", "types": [], "default": "[]", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "retry_status_list=[]"}, {"name": "retry_method_list", "types": [], "default": "['PUT', 'DELETE', 'OPTIONS', 'TRACE', 'HEAD', 'GET']", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "retry_method_list=['PUT', 'DELETE', 'OPTIONS', 'TRACE', 'HEAD', 'GET']"}], "doc": "<p>Create Session: create a HTTP session to a server</p>\n<p><code>url</code> Base url of the server</p>\n<p><code>alias</code> Robot Framework alias to identify the session</p>\n<p><code>headers</code> Dictionary of default headers</p>\n<p><code>cookies</code> Dictionary of cookies</p>\n<p><code>auth</code> A Custom Authentication object to be passed on to the requests library. <a href=\"http://docs.python-requests.org/en/master/user/advanced/#custom-authentication\">http://docs.python-requests.org/en/master/user/advanced/#custom-authentication</a></p>\n<p><code>timeout</code> Connection timeout</p>\n<p><code>proxies</code> Dictionary that contains proxy urls for HTTP and HTTPS communication</p>\n<p><code>verify</code> Whether the SSL cert will be verified. A CA_BUNDLE path can also be provided. Defaults to False.</p>\n<p><code>debug</code> Enable http verbosity option more information <a href=\"https://docs.python.org/2/library/httplib.html#httplib.HTTPConnection.set_debuglevel\">https://docs.python.org/2/library/httplib.html#httplib.HTTPConnection.set_debuglevel</a></p>\n<p><code>max_retries</code> Number of maximum retries each connection should attempt. By default it will retry 3 times in case of connection errors only. A 0 value will disable any kind of retries regardless of other retry settings. In case the number of retries is reached a retry exception is raised.</p>\n<p><code>disable_warnings</code> Disable requests warning useful when you have large number of testcases</p>\n<p><code>backoff_factor</code> Introduces a delay time between retries that is longer after each retry. eg. if backoff_factor is set to 0.1 the sleep between attemps will be: 0.0, 0.2, 0.4 More info here: <a href=\"https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html\">https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html</a></p>\n<p><code>retry_method_list</code> List of uppercased HTTP method verbs where retries are allowed. By default retries are allowed only on HTTP requests methods that are considered to be idempotent (multiple requests with the same parameters end with the same state). eg. set to ['POST', 'GET'] to retry only those kind of requests.</p>\n<p><code>retry_status_list</code> List of integer HTTP status codes that, if returned, a retry is attempted. eg. set to [502, 503] to retry requests if those status are returned. Note that max_retries must be greater than 0.</p>", "shortdoc": "Create Session: create a HTTP session to a server", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/SessionKeywords.py", "lineno": 276}, {"name": "Create Digest Session", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "url", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "url"}, {"name": "auth", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "auth"}, {"name": "headers", "types": [], "default": "{}", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "headers={}"}, {"name": "cookies", "types": [], "default": "{}", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "cookies={}"}, {"name": "timeout", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "timeout=None"}, {"name": "proxies", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "proxies=None"}, {"name": "verify", "types": [], "default": "False", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "verify=False"}, {"name": "debug", "types": [], "default": "0", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "debug=0"}, {"name": "max_retries", "types": [], "default": "3", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "max_retries=3"}, {"name": "backoff_factor", "types": [], "default": "0.1", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "backoff_factor=0.1"}, {"name": "disable_warnings", "types": [], "default": "0", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "disable_warnings=0"}, {"name": "retry_status_list", "types": [], "default": "[]", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "retry_status_list=[]"}, {"name": "retry_method_list", "types": [], "default": "['PUT', 'DELETE', 'OPTIONS', 'TRACE', 'HEAD', 'GET']", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "retry_method_list=['PUT', 'DELETE', 'OPTIONS', 'TRACE', 'HEAD', 'GET']"}], "doc": "<p>Create Session: create a HTTP session to a server</p>\n<p><code>url</code> Base url of the server</p>\n<p><code>alias</code> Robot Framework alias to identify the session</p>\n<p><code>headers</code> Dictionary of default headers</p>\n<p><code>cookies</code> Dictionary of cookies</p>\n<p><code>auth</code> ['DOMAIN', 'username', 'password'] for NTLM Authentication</p>\n<p><code>timeout</code> Connection timeout</p>\n<p><code>proxies</code> Dictionary that contains proxy urls for HTTP and HTTPS communication</p>\n<p><code>verify</code> Whether the SSL cert will be verified. A CA_BUNDLE path can also be provided. Defaults to False.</p>\n<p><code>debug</code> Enable http verbosity option more information <a href=\"https://docs.python.org/2/library/httplib.html#httplib.HTTPConnection.set_debuglevel\">https://docs.python.org/2/library/httplib.html#httplib.HTTPConnection.set_debuglevel</a></p>\n<p><code>max_retries</code> Number of maximum retries each connection should attempt. By default it will retry 3 times in case of connection errors only. A 0 value will disable any kind of retries regardless of other retry settings. In case the number of retries is reached a retry exception is raised.</p>\n<p><code>disable_warnings</code> Disable requests warning useful when you have large number of testcases</p>\n<p><code>backoff_factor</code> Introduces a delay time between retries that is longer after each retry. eg. if backoff_factor is set to 0.1 the sleep between attemps will be: 0.0, 0.2, 0.4 More info here: <a href=\"https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html\">https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html</a></p>\n<p><code>retry_method_list</code> List of uppercased HTTP method verbs where retries are allowed. By default retries are allowed only on HTTP requests methods that are considered to be idempotent (multiple requests with the same parameters end with the same state). eg. set to ['POST', 'GET'] to retry only those kind of requests.</p>\n<p><code>retry_status_list</code> List of integer HTTP status codes that, if returned, a retry is attempted. eg. set to [502, 503] to retry requests if those status are returned. Note that max_retries must be greater than 0.</p>", "shortdoc": "Create Session: create a HTTP session to a server", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/SessionKeywords.py", "lineno": 359}, {"name": "Create Ntlm Session", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "url", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "url"}, {"name": "auth", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "auth"}, {"name": "headers", "types": [], "default": "{}", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "headers={}"}, {"name": "cookies", "types": [], "default": "{}", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "cookies={}"}, {"name": "timeout", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "timeout=None"}, {"name": "proxies", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "proxies=None"}, {"name": "verify", "types": [], "default": "False", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "verify=False"}, {"name": "debug", "types": [], "default": "0", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "debug=0"}, {"name": "max_retries", "types": [], "default": "3", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "max_retries=3"}, {"name": "backoff_factor", "types": [], "default": "0.1", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "backoff_factor=0.1"}, {"name": "disable_warnings", "types": [], "default": "0", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "disable_warnings=0"}, {"name": "retry_status_list", "types": [], "default": "[]", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "retry_status_list=[]"}, {"name": "retry_method_list", "types": [], "default": "['PUT', 'DELETE', 'OPTIONS', 'TRACE', 'HEAD', 'GET']", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "retry_method_list=['PUT', 'DELETE', 'OPTIONS', 'TRACE', 'HEAD', 'GET']"}], "doc": "<p>Create Session: create a HTTP session to a server</p>\n<p><code>url</code> Base url of the server</p>\n<p><code>alias</code> Robot Framework alias to identify the session</p>\n<p><code>headers</code> Dictionary of default headers</p>\n<p><code>cookies</code> Dictionary of cookies</p>\n<p><code>auth</code> ['DOMAIN', 'username', 'password'] for NTLM Authentication</p>\n<p><code>timeout</code> Connection timeout</p>\n<p><code>proxies</code> Dictionary that contains proxy urls for HTTP and HTTPS communication</p>\n<p><code>verify</code> Whether the SSL cert will be verified. A CA_BUNDLE path can also be provided. Defaults to False.</p>\n<p><code>debug</code> Enable http verbosity option more information <a href=\"https://docs.python.org/2/library/httplib.html#httplib.HTTPConnection.set_debuglevel\">https://docs.python.org/2/library/httplib.html#httplib.HTTPConnection.set_debuglevel</a></p>\n<p><code>max_retries</code> Number of maximum retries each connection should attempt. By default it will retry 3 times in case of connection errors only. A 0 value will disable any kind of retries regardless of other retry settings. In case the number of retries is reached a retry exception is raised.</p>\n<p><code>disable_warnings</code> Disable requests warning useful when you have large number of testcases</p>\n<p><code>backoff_factor</code> Introduces a delay time between retries that is longer after each retry. eg. if backoff_factor is set to 0.1 the sleep between attemps will be: 0.0, 0.2, 0.4 More info here: <a href=\"https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html\">https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html</a></p>\n<p><code>retry_method_list</code> List of uppercased HTTP method verbs where retries are allowed. By default retries are allowed only on HTTP requests methods that are considered to be idempotent (multiple requests with the same parameters end with the same state). eg. set to ['POST', 'GET'] to retry only those kind of requests.</p>\n<p><code>retry_status_list</code> List of integer HTTP status codes that, if returned, a retry is attempted. eg. set to [502, 503] to retry requests if those status are returned. Note that max_retries must be greater than 0.</p>", "shortdoc": "Create Session: create a HTTP session to a server", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/SessionKeywords.py", "lineno": 436}, {"name": "Create Session", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "url", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "url"}, {"name": "headers", "types": [], "default": "{}", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "headers={}"}, {"name": "cookies", "types": [], "default": "{}", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "cookies={}"}, {"name": "auth", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "auth=None"}, {"name": "timeout", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "timeout=None"}, {"name": "proxies", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "proxies=None"}, {"name": "verify", "types": [], "default": "False", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "verify=False"}, {"name": "debug", "types": [], "default": "0", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "debug=0"}, {"name": "max_retries", "types": [], "default": "3", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "max_retries=3"}, {"name": "backoff_factor", "types": [], "default": "0.1", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "backoff_factor=0.1"}, {"name": "disable_warnings", "types": [], "default": "0", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "disable_warnings=0"}, {"name": "retry_status_list", "types": [], "default": "[]", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "retry_status_list=[]"}, {"name": "retry_method_list", "types": [], "default": "['PUT', 'DELETE', 'OPTIONS', 'TRACE', 'HEAD', 'GET']", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "retry_method_list=['PUT', 'DELETE', 'OPTIONS', 'TRACE', 'HEAD', 'GET']"}], "doc": "<p>Create Session: create a HTTP session to a server</p>\n<p><code>alias</code> Robot Framework alias to identify the session</p>\n<p><code>url</code> Base url of the server</p>\n<p><code>headers</code> Dictionary of default headers</p>\n<p><code>cookies</code> Dictionary of cookies</p>\n<p><code>auth</code> List of username &amp; password for HTTP Basic Auth</p>\n<p><code>timeout</code> Connection timeout</p>\n<p><code>proxies</code> Dictionary that contains proxy urls for HTTP and HTTPS communication</p>\n<p><code>verify</code> Whether the SSL cert will be verified. A CA_BUNDLE path can also be provided.</p>\n<p><code>debug</code> Enable http verbosity option more information <a href=\"https://docs.python.org/2/library/httplib.html#httplib.HTTPConnection.set_debuglevel\">https://docs.python.org/2/library/httplib.html#httplib.HTTPConnection.set_debuglevel</a></p>\n<p><code>max_retries</code> Number of maximum retries each connection should attempt. By default it will retry 3 times in case of connection errors only. A 0 value will disable any kind of retries regardless of other retry settings. In case the number of retries is reached a retry exception is raised.</p>\n<p><code>disable_warnings</code> Disable requests warning useful when you have large number of testcases</p>\n<p><code>backoff_factor</code> Introduces a delay time between retries that is longer after each retry. eg. if backoff_factor is set to 0.1 the sleep between attemps will be: 0.0, 0.2, 0.4 More info here: <a href=\"https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html\">https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html</a></p>\n<p><code>retry_method_list</code> List of uppercased HTTP method verbs where retries are allowed. By default retries are allowed only on HTTP requests methods that are considered to be idempotent (multiple requests with the same parameters end with the same state). eg. set to ['POST', 'GET'] to retry only those kind of requests.</p>\n<p><code>retry_status_list</code> List of integer HTTP status codes that, if returned, a retry is attempted. eg. set to [502, 503] to retry requests if those status are returned. Note that max_retries must be greater than 0.</p>", "shortdoc": "Create Session: create a HTTP session to a server", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/SessionKeywords.py", "lineno": 110}, {"name": "Delete All Sessions", "args": [], "doc": "<p>Removes all the session objects</p>", "shortdoc": "Removes all the session objects", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/SessionKeywords.py", "lineno": 540}, {"name": "DELETE On Session", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "url", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "url"}, {"name": "expected_status", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "expected_status=None"}, {"name": "msg", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "msg=None"}, {"name": "kwargs", "types": [], "default": null, "kind": "VAR_NAMED", "required": false, "repr": "**kwargs"}], "doc": "<p>Sends a DELETE request on a previously created HTTP Session.</p>\n<p>Session will be identified using the <code>alias</code> name. The endpoint used to send the request is the <code>url</code> parameter.</p>\n<p>By default this keyword fails if a status code with error values is returned in the response, this behavior can be modified using the <code>expected_status</code> and <code>msg</code> parameters, read more about it in <a href=\"#Status%20Should%20Be\" class=\"name\">Status Should Be</a> keyword documentation. In order to disable this implicit assert mechanism you can pass as <code>expected_status</code> the values <code>any</code> or <code>anything</code>.</p>\n<p>Other optional requests arguments can be passed using <code>**kwargs</code> see the <a href=\"#GET%20On%20Session\" class=\"name\">GET On Session</a> keyword for the complete list.</p>", "shortdoc": "Sends a DELETE request on a previously created HTTP Session.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/RequestsOnSessionKeywords.py", "lineno": 137}, {"name": "Delete Request", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "uri", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "uri"}, {"name": "data", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "data=None"}, {"name": "json", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "json=None"}, {"name": "params", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "params=None"}, {"name": "headers", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "headers=None"}, {"name": "allow_redirects", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "allow_redirects=None"}, {"name": "timeout", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "timeout=None"}], "doc": "<p><b>DEPRECATED</b> Please use <a href=\"#DELETE%20On%20Session\" class=\"name\">DELETE On Session</a> instead.</p>\n<p>Send a DELETE request on the session object found using the given <span class=\"name\">alias</span></p>\n<p><code>alias</code> that will be used to identify the Session object in the cache</p>\n<p><code>uri</code> to send the DELETE request to</p>\n<p><code>json</code> a value that will be json encoded and sent as request data if data is not specified</p>\n<p><code>headers</code> a dictionary of headers to use with the request</p>\n<p><code>allow_redirects</code> Boolean. Set to True if POST/PUT/DELETE redirect following is allowed.</p>\n<p><code>timeout</code> connection timeout</p>", "shortdoc": "*DEPRECATED* Please use `DELETE On Session` instead.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/DeprecatedKeywords.py", "lineno": 261}, {"name": "Get File For Streaming Upload", "args": [{"name": "path", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "path"}], "doc": "<p>Opens and returns a file descriptor of a specified file to be passed as <code>data</code> parameter to other requests keywords.</p>\n<p>This allows streaming upload of large files without reading them into memory.</p>\n<p>File descriptor is binary mode and read only. Requests keywords will automatically close the file, if used outside this library it's up to the caller to close it.</p>", "shortdoc": "Opens and returns a file descriptor of a specified file to be passed as ``data`` parameter to other requests keywords.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/RequestsKeywords.py", "lineno": 56}, {"name": "GET On Session", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "url", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "url"}, {"name": "params", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "params=None"}, {"name": "expected_status", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "expected_status=None"}, {"name": "msg", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "msg=None"}, {"name": "kwargs", "types": [], "default": null, "kind": "VAR_NAMED", "required": false, "repr": "**kwargs"}], "doc": "<p>Sends a GET request on a previously created HTTP Session.</p>\n<p>Session will be identified using the <code>alias</code> name. The endpoint used to retrieve the resource is the <code>url</code>, while query string parameters can be passed as string, dictionary (or list of tuples or bytes) through the <code>params</code>.</p>\n<p>By default this keyword fails if a status code with error values is returned in the response, this behavior can be modified using the <code>expected_status</code> and <code>msg</code> parameters, read more about it in <a href=\"#Status%20Should%20Be\" class=\"name\">Status Should Be</a> keyword documentation. In order to disable this implicit assert mechanism you can pass as <code>expected_status</code> the values <code>any</code> or <code>anything</code>.</p>\n<p>Other optional requests arguments can be passed using <code>**kwargs</code> here is a list:</p>\n<table border=\"1\">\n<tr>\n<td><code>data</code></td>\n<td>Dictionary, list of tuples, bytes, or file-like object to send in the body of the request.</td>\n</tr>\n<tr>\n<td><code>json</code></td>\n<td>A JSON serializable Python object to send in the body of the request.</td>\n</tr>\n<tr>\n<td><code>headers</code></td>\n<td>Dictionary of HTTP Headers to send with the request.</td>\n</tr>\n<tr>\n<td><code>cookies</code></td>\n<td>Dict or CookieJar object to send with the request.</td>\n</tr>\n<tr>\n<td><code>files</code></td>\n<td>Dictionary of file-like-objects (or <code>{'name': file-tuple}</code>) for multipart encoding upload.</td>\n</tr>\n<tr>\n<td><code>file-tuple</code></td>\n<td>can be a 2-tuple <code>('filename', fileobj)</code>, 3-tuple <code>('filename', fileobj, 'content_type')</code> or a 4-tuple <code>('filename', fileobj, 'content_type', custom_headers)</code>, where <code>'content-type'</code> is a string defining the content type of the given file and <code>custom_headers</code> a dict-like object containing additional headers to add for the file.</td>\n</tr>\n<tr>\n<td><code>auth</code></td>\n<td>Auth tuple to enable Basic/Digest/Custom HTTP Auth.</td>\n</tr>\n<tr>\n<td><code>timeout</code></td>\n<td>How many seconds to wait for the server to send data before giving up, as a float, or a <code>(connect timeout, read timeout)</code> tuple.</td>\n</tr>\n<tr>\n<td><code>allow_redirects</code></td>\n<td>Boolean. Enable/disable GET/OPTIONS/POST/PUT/PATCH/DELETE/HEAD redirection. Defaults to <code>True</code>.</td>\n</tr>\n<tr>\n<td><code>proxies</code></td>\n<td>Dictionary mapping protocol to the URL of the proxy.</td>\n</tr>\n<tr>\n<td><code>verify</code></td>\n<td>Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use. Defaults to <code>True</code>.</td>\n</tr>\n<tr>\n<td><code>stream</code></td>\n<td>if <code>False</code>, the response content will be immediately downloaded.</td>\n</tr>\n<tr>\n<td><code>cert</code></td>\n<td>if String, path to ssl client cert file (.pem). If Tuple, ('cert', 'key') pair.</td>\n</tr>\n</table>\n<p>For more updated and complete information verify the official Requests api documentation: <a href=\"https://requests.readthedocs.io/en/latest/api/\">https://requests.readthedocs.io/en/latest/api/</a></p>", "shortdoc": "Sends a GET request on a previously created HTTP Session.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/RequestsOnSessionKeywords.py", "lineno": 10}, {"name": "Get Request", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "uri", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "uri"}, {"name": "headers", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "headers=None"}, {"name": "data", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "data=None"}, {"name": "json", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "json=None"}, {"name": "params", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "params=None"}, {"name": "allow_redirects", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "allow_redirects=None"}, {"name": "timeout", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "timeout=None"}], "doc": "<p><b>DEPRECATED</b> Please use <a href=\"#GET%20On%20Session\" class=\"name\">GET On Session</a> instead.</p>\n<p>Send a GET request on the session object found using the given <span class=\"name\">alias</span></p>\n<p><code>alias</code> that will be used to identify the Session object in the cache</p>\n<p><code>uri</code> to send the GET request to</p>\n<p><code>params</code> url parameters to append to the uri</p>\n<p><code>headers</code> a dictionary of headers to use with the request</p>\n<p><code>data</code> a dictionary of key-value pairs that will be urlencoded and sent as GET data or binary data that is sent as the raw body content</p>\n<p><code>json</code> a value that will be json encoded and sent as GET data if data is not specified</p>\n<p><code>allow_redirects</code> Boolean. Set to True if POST/PUT/DELETE redirect following is allowed.</p>\n<p><code>timeout</code> connection timeout</p>", "shortdoc": "*DEPRECATED* Please use `GET On Session` instead.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/DeprecatedKeywords.py", "lineno": 36}, {"name": "HEAD On Session", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "url", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "url"}, {"name": "expected_status", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "expected_status=None"}, {"name": "msg", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "msg=None"}, {"name": "kwargs", "types": [], "default": null, "kind": "VAR_NAMED", "required": false, "repr": "**kwargs"}], "doc": "<p>Sends a HEAD request on a previously created HTTP Session.</p>\n<p>Session will be identified using the <code>alias</code> name. The endpoint used to retrieve the HTTP headers is the <code>url</code>.</p>\n<p><code>allow_redirects</code> parameter is not provided, it will be set to <span class=\"name\">False</span> (as opposed to the default behavior).</p>\n<p>By default this keyword fails if a status code with error values is returned in the response, this behavior can be modified using the <code>expected_status</code> and <code>msg</code> parameters, read more about it in <a href=\"#Status%20Should%20Be\" class=\"name\">Status Should Be</a> keyword documentation. In order to disable this implicit assert mechanism you can pass as <code>expected_status</code> the values <code>any</code> or <code>anything</code>.</p>\n<p>Other optional requests arguments can be passed using <code>**kwargs</code> see the <a href=\"#GET%20On%20Session\" class=\"name\">GET On Session</a> keyword for the complete list.</p>", "shortdoc": "Sends a HEAD request on a previously created HTTP Session.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/RequestsOnSessionKeywords.py", "lineno": 160}, {"name": "Head Request", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "uri", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "uri"}, {"name": "headers", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "headers=None"}, {"name": "allow_redirects", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "allow_redirects=None"}, {"name": "timeout", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "timeout=None"}], "doc": "<p><b>DEPRECATED</b> Please use <a href=\"#HEAD%20On%20Session\" class=\"name\">HEAD On Session</a> instead.</p>\n<p>Send a HEAD request on the session object found using the given <span class=\"name\">alias</span></p>\n<p><code>alias</code> that will be used to identify the Session object in the cache</p>\n<p><code>uri</code> to send the HEAD request to</p>\n<p><code>allow_redirects</code> Boolean. Set to True if POST/PUT/DELETE redirect following is allowed.</p>\n<p><code>headers</code> a dictionary of headers to use with the request</p>\n<p><code>timeout</code> connection timeout</p>", "shortdoc": "*DEPRECATED* Please use `HEAD On Session` instead.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/DeprecatedKeywords.py", "lineno": 308}, {"name": "OPTIONS On Session", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "url", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "url"}, {"name": "expected_status", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "expected_status=None"}, {"name": "msg", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "msg=None"}, {"name": "kwargs", "types": [], "default": null, "kind": "VAR_NAMED", "required": false, "repr": "**kwargs"}], "doc": "<p>Sends a OPTIONS request on a previously created HTTP Session.</p>\n<p>Session will be identified using the <code>alias</code> name. The endpoint used to retrieve the resource is the <code>url</code>.</p>\n<p>By default this keyword fails if a status code with error values is returned in the response, this behavior can be modified using the <code>expected_status</code> and <code>msg</code> parameters, read more about it in <a href=\"#Status%20Should%20Be\" class=\"name\">Status Should Be</a> keyword documentation. In order to disable this implicit assert mechanism you can pass as <code>expected_status</code> the values <code>any</code> or <code>anything</code>.</p>\n<p>Other optional requests arguments can be passed using <code>**kwargs</code> see the <a href=\"#GET%20On%20Session\" class=\"name\">GET On Session</a> keyword for the complete list.</p>", "shortdoc": "Sends a OPTIONS request on a previously created HTTP Session.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/RequestsOnSessionKeywords.py", "lineno": 186}, {"name": "Options Request", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "uri", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "uri"}, {"name": "headers", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "headers=None"}, {"name": "allow_redirects", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "allow_redirects=None"}, {"name": "timeout", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "timeout=None"}], "doc": "<p><b>DEPRECATED</b> Please use <a href=\"#OPTIONS%20On%20Session\" class=\"name\">OPTIONS On Session</a> instead.</p>\n<p>Send an OPTIONS request on the session object found using the given <span class=\"name\">alias</span></p>\n<p><code>alias</code> that will be used to identify the Session object in the cache</p>\n<p><code>uri</code> to send the OPTIONS request to</p>\n<p><code>allow_redirects</code> Boolean. Set to True if POST/PUT/DELETE redirect following is allowed.</p>\n<p><code>headers</code> a dictionary of headers to use with the request</p>\n<p><code>timeout</code> connection timeout</p>", "shortdoc": "*DEPRECATED* Please use `OPTIONS On Session` instead.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/DeprecatedKeywords.py", "lineno": 344}, {"name": "PATCH On Session", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "url", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "url"}, {"name": "data", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "data=None"}, {"name": "json", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "json=None"}, {"name": "expected_status", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "expected_status=None"}, {"name": "msg", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "msg=None"}, {"name": "kwargs", "types": [], "default": null, "kind": "VAR_NAMED", "required": false, "repr": "**kwargs"}], "doc": "<p>Sends a PATCH request on a previously created HTTP Session.</p>\n<p>Session will be identified using the <code>alias</code> name. The endpoint used to send the request is the <code>url</code> parameter, while its body can be passed using <code>data</code> or <code>json</code> parameters.</p>\n<p><code>data</code> can be a dictionary, list of tuples, bytes, or file-like object. If you want to pass a json body pass a dictionary as <code>json</code> parameter.</p>\n<p>By default this keyword fails if a status code with error values is returned in the response, this behavior can be modified using the <code>expected_status</code> and <code>msg</code> parameters, read more about it in <a href=\"#Status%20Should%20Be\" class=\"name\">Status Should Be</a> keyword documentation. In order to disable this implicit assert mechanism you can pass as <code>expected_status</code> the values <code>any</code> or <code>anything</code>.</p>\n<p>Other optional requests arguments can be passed using <code>**kwargs</code> see the <a href=\"#GET%20On%20Session\" class=\"name\">GET On Session</a> keyword for the complete list.</p>", "shortdoc": "Sends a PATCH request on a previously created HTTP Session.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/RequestsOnSessionKeywords.py", "lineno": 81}, {"name": "Patch Request", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "uri", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "uri"}, {"name": "data", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "data=None"}, {"name": "json", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "json=None"}, {"name": "params", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "params=None"}, {"name": "headers", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "headers=None"}, {"name": "files", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "files=None"}, {"name": "allow_redirects", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "allow_redirects=None"}, {"name": "timeout", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "timeout=None"}], "doc": "<p><b>DEPRECATED</b> Please use <a href=\"#PATCH%20On%20Session\" class=\"name\">PATCH On Session</a> instead.</p>\n<p>Send a PATCH request on the session object found using the given <span class=\"name\">alias</span></p>\n<p><code>alias</code> that will be used to identify the Session object in the cache</p>\n<p><code>uri</code> to send the PATCH request to</p>\n<p><code>data</code> a dictionary of key-value pairs that will be urlencoded and sent as PATCH data or binary data that is sent as the raw body content or file descriptor retrieved by Get File For Streaming Upload</p>\n<p><code>json</code> a value that will be json encoded and sent as PATCH data if data is not specified</p>\n<p><code>headers</code> a dictionary of headers to use with the request</p>\n<p><code>files</code> a dictionary of file names containing file data to PATCH to the server</p>\n<p><code>allow_redirects</code> Boolean. Set to True if POST/PUT/DELETE redirect following is allowed.</p>\n<p><code>params</code> url parameters to append to the uri</p>\n<p><code>timeout</code> connection timeout</p>", "shortdoc": "*DEPRECATED* Please use `PATCH On Session` instead.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/DeprecatedKeywords.py", "lineno": 147}, {"name": "POST On Session", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "url", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "url"}, {"name": "data", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "data=None"}, {"name": "json", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "json=None"}, {"name": "expected_status", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "expected_status=None"}, {"name": "msg", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "msg=None"}, {"name": "kwargs", "types": [], "default": null, "kind": "VAR_NAMED", "required": false, "repr": "**kwargs"}], "doc": "<p>Sends a POST request on a previously created HTTP Session.</p>\n<p>Session will be identified using the <code>alias</code> name. The endpoint used to send the request is the <code>url</code> parameter, while its body can be passed using <code>data</code> or <code>json</code> parameters.</p>\n<p><code>data</code> can be a dictionary, list of tuples, bytes, or file-like object. If you want to pass a json body pass a dictionary as <code>json</code> parameter.</p>\n<p>By default this keyword fails if a status code with error values is returned in the response, this behavior can be modified using the <code>expected_status</code> and <code>msg</code> parameters, read more about it in <a href=\"#Status%20Should%20Be\" class=\"name\">Status Should Be</a> keyword documentation. In order to disable this implicit assert mechanism you can pass as <code>expected_status</code> the values <code>any</code> or <code>anything</code>.</p>\n<p>Other optional requests arguments can be passed using <code>**kwargs</code> see the <a href=\"#GET%20On%20Session\" class=\"name\">GET On Session</a> keyword for the complete list.</p>", "shortdoc": "Sends a POST request on a previously created HTTP Session.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/RequestsOnSessionKeywords.py", "lineno": 53}, {"name": "Post Request", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "uri", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "uri"}, {"name": "data", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "data=None"}, {"name": "json", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "json=None"}, {"name": "params", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "params=None"}, {"name": "headers", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "headers=None"}, {"name": "files", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "files=None"}, {"name": "allow_redirects", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "allow_redirects=None"}, {"name": "timeout", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "timeout=None"}], "doc": "<p><b>DEPRECATED</b> Please use <a href=\"#POST%20On%20Session\" class=\"name\">POST On Session</a> instead.</p>\n<p>Send a POST request on the session object found using the given <span class=\"name\">alias</span></p>\n<p><code>alias</code> that will be used to identify the Session object in the cache</p>\n<p><code>uri</code> to send the POST request to</p>\n<p><code>data</code> a dictionary of key-value pairs that will be urlencoded and sent as POST data or binary data that is sent as the raw body content or passed as such for multipart form data if <code>files</code> is also defined or file descriptor retrieved by Get File For Streaming Upload</p>\n<p><code>json</code> a value that will be json encoded and sent as POST data if files or data is not specified</p>\n<p><code>params</code> url parameters to append to the uri</p>\n<p><code>headers</code> a dictionary of headers to use with the request</p>\n<p><code>files</code> a dictionary of file names containing file data to POST to the server</p>\n<p><code>allow_redirects</code> Boolean. Set to True if POST/PUT/DELETE redirect following is allowed.</p>\n<p><code>timeout</code> connection timeout</p>", "shortdoc": "*DEPRECATED* Please use `POST On Session` instead.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/DeprecatedKeywords.py", "lineno": 88}, {"name": "PUT On Session", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "url", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "url"}, {"name": "data", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "data=None"}, {"name": "json", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "json=None"}, {"name": "expected_status", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "expected_status=None"}, {"name": "msg", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "msg=None"}, {"name": "kwargs", "types": [], "default": null, "kind": "VAR_NAMED", "required": false, "repr": "**kwargs"}], "doc": "<p>Sends a PUT request on a previously created HTTP Session.</p>\n<p>Session will be identified using the <code>alias</code> name. The endpoint used to send the request is the <code>url</code> parameter, while its body can be passed using <code>data</code> or <code>json</code> parameters.</p>\n<p><code>data</code> can be a dictionary, list of tuples, bytes, or file-like object. If you want to pass a json body pass a dictionary as <code>json</code> parameter.</p>\n<p>By default this keyword fails if a status code with error values is returned in the response, this behavior can be modified using the <code>expected_status</code> and <code>msg</code> parameters, read more about it in <a href=\"#Status%20Should%20Be\" class=\"name\">Status Should Be</a> keyword documentation. In order to disable this implicit assert mechanism you can pass as <code>expected_status</code> the values <code>any</code> or <code>anything</code>.</p>\n<p>Other optional requests arguments can be passed using <code>**kwargs</code> see the <a href=\"#GET%20On%20Session\" class=\"name\">GET On Session</a> keyword for the complete list.</p>", "shortdoc": "Sends a PUT request on a previously created HTTP Session.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/RequestsOnSessionKeywords.py", "lineno": 109}, {"name": "Put Request", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "uri", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "uri"}, {"name": "data", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "data=None"}, {"name": "json", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "json=None"}, {"name": "params", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "params=None"}, {"name": "files", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "files=None"}, {"name": "headers", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "headers=None"}, {"name": "allow_redirects", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "allow_redirects=None"}, {"name": "timeout", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "timeout=None"}], "doc": "<p><b>DEPRECATED</b> Please use <a href=\"#PUT%20On%20Session\" class=\"name\">PUT On Session</a> instead.</p>\n<p>Send a PUT request on the session object found using the given <span class=\"name\">alias</span></p>\n<p><code>alias</code> that will be used to identify the Session object in the cache</p>\n<p><code>uri</code> to send the PUT request to</p>\n<p><code>data</code> a dictionary of key-value pairs that will be urlencoded and sent as PUT data or binary data that is sent as the raw body content or file descriptor retrieved by Get File For Streaming Upload</p>\n<p><code>json</code> a value that will be json encoded and sent as PUT data if data is not specified</p>\n<p><code>headers</code> a dictionary of headers to use with the request</p>\n<p><code>allow_redirects</code> Boolean. Set to True if POST/PUT/DELETE redirect following is allowed.</p>\n<p><code>params</code> url parameters to append to the uri</p>\n<p><code>timeout</code> connection timeout</p>", "shortdoc": "*DEPRECATED* Please use `PUT On Session` instead.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/DeprecatedKeywords.py", "lineno": 205}, {"name": "Request Should Be Successful", "args": [{"name": "response", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "response"}], "doc": "<p>Fails if response status code is a client or server error (4xx, 5xx).</p>\n<p><code>response</code> is the output of other requests keywords like <a href=\"#GET%20On%20Session\" class=\"name\">GET On Session</a>.</p>\n<p>In case of failure an HTTPError will be automatically raised. A custom failure message <code>msg</code> can be added like in built-in keywords.</p>\n<p>For a more versatile assert keyword see <a href=\"#Status%20Should%20Be\" class=\"name\">Status Should Be</a>.</p>", "shortdoc": "Fails if response status code is a client or server error (4xx, 5xx).", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/RequestsKeywords.py", "lineno": 41}, {"name": "Session Exists", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}], "doc": "<p>Return True if the session has been already created</p>\n<p><code>alias</code> that has been used to identify the Session object in the cache</p>", "shortdoc": "Return True if the session has been already created", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/SessionKeywords.py", "lineno": 528}, {"name": "Status Should Be", "args": [{"name": "expected_status", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "expected_status"}, {"name": "response", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "response"}, {"name": "msg", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "msg=None"}], "doc": "<p>Fails if response status code is different than the expected.</p>\n<p><code>expected_status</code> could be the code number as an integer or as string. But it could also be a named status code like 'ok', 'created', 'accepted' or 'bad request', 'not found' etc.</p>\n<p><code>response</code> is the output of other requests keywords like <a href=\"#GET%20On%20Session\" class=\"name\">GET On Session</a>.</p>\n<p>In case of failure an HTTPError will be automatically raised. A custom failure message <code>msg</code> can be added like in built-in keywords.</p>\n<p><span class=\"name\">* On Session</span> keywords (like <a href=\"#GET%20On%20Session\" class=\"name\">GET On Session</a>) already have an implicit assert mechanism, that by default, verifies the response status code. <a href=\"#Status%20Should%20Be\" class=\"name\">Status Should Be</a> keyword can be useful to do an explicit assert in case of <span class=\"name\">* On Session</span> keyword with <code>expected_status=anything</code> to disable implicit assert.</p>", "shortdoc": "Fails if response status code is different than the expected.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/RequestsKeywords.py", "lineno": 18}, {"name": "To Json", "args": [{"name": "content", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "content"}, {"name": "pretty_print", "types": [], "default": "False", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "pretty_print=False"}], "doc": "<p><b>DEPRECATED</b> Please use ${resp.json()} instead. Have a look at the improved HTML output as pretty printing replacement.</p>\n<p>Convert a string to a JSON object</p>\n<p><code>content</code> String content to convert into JSON</p>\n<p><code>pretty_print</code> If defined, will output JSON is pretty print format</p>", "shortdoc": "*DEPRECATED* Please use ${resp.json()} instead. Have a look at the improved HTML output as pretty printing replacement.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/DeprecatedKeywords.py", "lineno": 15}, {"name": "Update Session", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "headers", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "headers=None"}, {"name": "cookies", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "cookies=None"}], "doc": "<p>Update Session Headers: update a HTTP Session Headers</p>\n<p><code>alias</code> Robot Framework alias to identify the session</p>\n<p><code>headers</code> Dictionary of headers merge into session</p>", "shortdoc": "Update Session Headers: update a HTTP Session Headers", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/SessionKeywords.py", "lineno": 548}], "dataTypes": {"enums": [], "typedDicts": []}}
+libdoc = {"name": "RequestsLibrary", "doc": "<p>RequestsLibrary is a Robot Framework library aimed to provide HTTP api testing functionalities by wrapping the well known Python Requests Library.</p>\n<h3 id=\"Table of contents\">Table of contents</h3>\n<ul>\n<li><a href=\"#Usage\" class=\"name\">Usage</a></li>\n<li><a href=\"#Response%20Object\" class=\"name\">Response Object</a></li>\n<li><a href=\"#Keywords\" class=\"name\">Keywords</a></li>\n</ul>\n<h2 id=\"Usage\">Usage</h2>\n<p>Before making an HTTP request a new connection needs to be prepared this can be done with <a href=\"#Create%20Session\" class=\"name\">Create Session</a> keyword. Then you can execute any <span class=\"name\">* On Session</span> keywords below some examples:</p>\n<pre>\n  <b>*</b> Settings <b>*</b>\n  Library               Collections\n  Library               RequestsLibrary\n\n  Suite Setup           Create Session    jsonplaceholder    <a href=\"https://jsonplaceholder.typicode.com\">https://jsonplaceholder.typicode.com</a>\n\n  <b>*</b> Test Cases <b>*</b>\n\n  Get Request Test\n      Create Session    google             <a href=\"http://www.google.com\">http://www.google.com</a>\n\n      ${resp_google}=   GET On Session     google             /           expected_status=200\n      ${resp_json}=     GET On Session     jsonplaceholder    /posts/1\n\n      Should Be Equal As Strings           ${resp_google.reason}    OK\n      Dictionary Should Contain Value      ${resp_json.json()}    sunt aut facere repellat provident occaecati excepturi optio reprehenderit\n\n  Post Request Test\n      &amp;{data}=          Create dictionary  title=Robotframework requests  body=This is a test!  userId=1\n      ${resp}=          POST On Session    jsonplaceholder     /posts    json=${data}\n\n      Status Should Be                     201    ${resp}\n      Dictionary Should Contain Key        ${resp.json()}     id\n</pre>\n<h2 id=\"Response Object\">Response Object</h2>\n<p>All the HTTP requests keywords (GET, POST, PUT, etc.) return an extremely useful Response object. The Response object contains a server's response to an HTTP request.</p>\n<p>You can access the different attributes with the dot notation in this way: <code>${response.json()}</code> or <code>${response.text}</code>. Below the list of the most useful attributes:</p>\n<table border=\"1\">\n<tr>\n<th>Attributes</th>\n<th>Explanation</th>\n</tr>\n<tr>\n<td>content</td>\n<td>Content of the response, in bytes.</td>\n</tr>\n<tr>\n<td>cookies</td>\n<td>A CookieJar of Cookies the server sent back.</td>\n</tr>\n<tr>\n<td>elapsed</td>\n<td>The amount of time elapsed between sending the request and the arrival of the response (as a timedelta). This property specifically measures the time taken between sending the first byte of the request and finishing parsing the headers. It is therefore unaffected by consuming the response content or the value of the stream keyword argument.</td>\n</tr>\n<tr>\n<td>encoding</td>\n<td>Encoding to decode with when accessing <code>response.text.</code></td>\n</tr>\n<tr>\n<td>headers</td>\n<td>Case-insensitive Dictionary of Response Headers. For example, <code>headers['content-encoding']</code> will return the value of a `Content-Encoding' response header.</td>\n</tr>\n<tr>\n<td>history</td>\n<td>A list of Response objects from the history of the Request. Any redirect responses will end up here. The list is sorted from the oldest to the most recent request.</td>\n</tr>\n<tr>\n<td>json</td>\n<td>Returns the json-encoded content of a response, if any. Parameters: <code>**kwargs</code> - Optional arguments that json.loads takes. Raises:        ValueError ? If the response body does not contain valid json.</td>\n</tr>\n<tr>\n<td>ok</td>\n<td>Returns True if status_code is less than 400, False if not.</td>\n</tr>\n<tr>\n<td>reason</td>\n<td>Textual reason of responded HTTP Status, e.g. <code>Not Found</code> or <code>OK</code>.</td>\n</tr>\n<tr>\n<td>status_code</td>\n<td>Integer Code of responded HTTP Status, e.g. 404 or 200.</td>\n</tr>\n<tr>\n<td>text</td>\n<td>Content of the response, in unicode. If <code>response.encoding</code> is <code>None</code>, encoding will be guessed using chardet. The encoding of the response content is determined based solely on HTTP headers, following RFC 2616 to the letter. If you can take advantage of non-HTTP knowledge to make a better guess at the encoding, you should set <code>response.encoding</code> appropriately before accessing this property.</td>\n</tr>\n<tr>\n<td>url</td>\n<td>Final URL location of Response.</td>\n</tr>\n</table>", "version": "0.8.0", "generated": "2021-02-10 00:06:17", "type": "LIBRARY", "scope": "GLOBAL", "docFormat": "HTML", "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/__init__.py", "lineno": 19, "tags": [], "inits": [], "keywords": [{"name": "Create Client Cert Session", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "url", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "url"}, {"name": "headers", "types": [], "default": "{}", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "headers={}"}, {"name": "cookies", "types": [], "default": "{}", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "cookies={}"}, {"name": "client_certs", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "client_certs=None"}, {"name": "timeout", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "timeout=None"}, {"name": "proxies", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "proxies=None"}, {"name": "verify", "types": [], "default": "False", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "verify=False"}, {"name": "debug", "types": [], "default": "0", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "debug=0"}, {"name": "max_retries", "types": [], "default": "3", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "max_retries=3"}, {"name": "backoff_factor", "types": [], "default": "0.1", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "backoff_factor=0.1"}, {"name": "disable_warnings", "types": [], "default": "0", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "disable_warnings=0"}, {"name": "retry_status_list", "types": [], "default": "[]", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "retry_status_list=[]"}, {"name": "retry_method_list", "types": [], "default": "['GET', 'PUT', 'HEAD', 'DELETE', 'OPTIONS', 'TRACE']", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "retry_method_list=['GET', 'PUT', 'HEAD', 'DELETE', 'OPTIONS', 'TRACE']"}], "doc": "<p>Create Session: create a HTTP session to a server</p>\n<p><code>url</code> Base url of the server</p>\n<p><code>alias</code> Robot Framework alias to identify the session</p>\n<p><code>headers</code> Dictionary of default headers</p>\n<p><code>cookies</code> Dictionary of cookies</p>\n<p><code>client_certs</code> ['client certificate', 'client key'] PEM files containing the client key and certificate</p>\n<p><code>timeout</code> Connection timeout</p>\n<p><code>proxies</code> Dictionary that contains proxy urls for HTTP and HTTPS communication</p>\n<p><code>verify</code> Whether the SSL cert will be verified. A CA_BUNDLE path can also be provided. Defaults to False.</p>\n<p><code>debug</code> Enable http verbosity option more information <a href=\"https://docs.python.org/2/library/httplib.html#httplib.HTTPConnection.set_debuglevel\">https://docs.python.org/2/library/httplib.html#httplib.HTTPConnection.set_debuglevel</a></p>\n<p><code>max_retries</code> Number of maximum retries each connection should attempt. By default it will retry 3 times in case of connection errors only. A 0 value will disable any kind of retries regardless of other retry settings. In case the number of retries is reached a retry exception is raised.</p>\n<p><code>disable_warnings</code> Disable requests warning useful when you have large number of testcases</p>\n<p><code>backoff_factor</code> Introduces a delay time between retries that is longer after each retry. eg. if backoff_factor is set to 0.1 the sleep between attemps will be: 0.0, 0.2, 0.4 More info here: <a href=\"https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html\">https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html</a></p>\n<p><code>retry_method_list</code> List of uppercased HTTP method verbs where retries are allowed. By default retries are allowed only on HTTP requests methods that are considered to be idempotent (multiple requests with the same parameters end with the same state). eg. set to ['POST', 'GET'] to retry only those kind of requests.</p>\n<p><code>retry_status_list</code> List of integer HTTP status codes that, if returned, a retry is attempted. eg. set to [502, 503] to retry requests if those status are returned. Note that max_retries must be greater than 0.</p>", "shortdoc": "Create Session: create a HTTP session to a server", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/SessionKeywords.py", "lineno": 190}, {"name": "Create Custom Session", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "url", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "url"}, {"name": "auth", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "auth"}, {"name": "headers", "types": [], "default": "{}", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "headers={}"}, {"name": "cookies", "types": [], "default": "{}", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "cookies={}"}, {"name": "timeout", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "timeout=None"}, {"name": "proxies", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "proxies=None"}, {"name": "verify", "types": [], "default": "False", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "verify=False"}, {"name": "debug", "types": [], "default": "0", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "debug=0"}, {"name": "max_retries", "types": [], "default": "3", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "max_retries=3"}, {"name": "backoff_factor", "types": [], "default": "0.1", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "backoff_factor=0.1"}, {"name": "disable_warnings", "types": [], "default": "0", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "disable_warnings=0"}, {"name": "retry_status_list", "types": [], "default": "[]", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "retry_status_list=[]"}, {"name": "retry_method_list", "types": [], "default": "['GET', 'PUT', 'HEAD', 'DELETE', 'OPTIONS', 'TRACE']", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "retry_method_list=['GET', 'PUT', 'HEAD', 'DELETE', 'OPTIONS', 'TRACE']"}], "doc": "<p>Create Session: create a HTTP session to a server</p>\n<p><code>url</code> Base url of the server</p>\n<p><code>alias</code> Robot Framework alias to identify the session</p>\n<p><code>headers</code> Dictionary of default headers</p>\n<p><code>cookies</code> Dictionary of cookies</p>\n<p><code>auth</code> A Custom Authentication object to be passed on to the requests library. <a href=\"http://docs.python-requests.org/en/master/user/advanced/#custom-authentication\">http://docs.python-requests.org/en/master/user/advanced/#custom-authentication</a></p>\n<p><code>timeout</code> Connection timeout</p>\n<p><code>proxies</code> Dictionary that contains proxy urls for HTTP and HTTPS communication</p>\n<p><code>verify</code> Whether the SSL cert will be verified. A CA_BUNDLE path can also be provided. Defaults to False.</p>\n<p><code>debug</code> Enable http verbosity option more information <a href=\"https://docs.python.org/2/library/httplib.html#httplib.HTTPConnection.set_debuglevel\">https://docs.python.org/2/library/httplib.html#httplib.HTTPConnection.set_debuglevel</a></p>\n<p><code>max_retries</code> Number of maximum retries each connection should attempt. By default it will retry 3 times in case of connection errors only. A 0 value will disable any kind of retries regardless of other retry settings. In case the number of retries is reached a retry exception is raised.</p>\n<p><code>disable_warnings</code> Disable requests warning useful when you have large number of testcases</p>\n<p><code>backoff_factor</code> Introduces a delay time between retries that is longer after each retry. eg. if backoff_factor is set to 0.1 the sleep between attemps will be: 0.0, 0.2, 0.4 More info here: <a href=\"https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html\">https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html</a></p>\n<p><code>retry_method_list</code> List of uppercased HTTP method verbs where retries are allowed. By default retries are allowed only on HTTP requests methods that are considered to be idempotent (multiple requests with the same parameters end with the same state). eg. set to ['POST', 'GET'] to retry only those kind of requests.</p>\n<p><code>retry_status_list</code> List of integer HTTP status codes that, if returned, a retry is attempted. eg. set to [502, 503] to retry requests if those status are returned. Note that max_retries must be greater than 0.</p>", "shortdoc": "Create Session: create a HTTP session to a server", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/SessionKeywords.py", "lineno": 275}, {"name": "Create Digest Session", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "url", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "url"}, {"name": "auth", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "auth"}, {"name": "headers", "types": [], "default": "{}", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "headers={}"}, {"name": "cookies", "types": [], "default": "{}", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "cookies={}"}, {"name": "timeout", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "timeout=None"}, {"name": "proxies", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "proxies=None"}, {"name": "verify", "types": [], "default": "False", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "verify=False"}, {"name": "debug", "types": [], "default": "0", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "debug=0"}, {"name": "max_retries", "types": [], "default": "3", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "max_retries=3"}, {"name": "backoff_factor", "types": [], "default": "0.1", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "backoff_factor=0.1"}, {"name": "disable_warnings", "types": [], "default": "0", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "disable_warnings=0"}, {"name": "retry_status_list", "types": [], "default": "[]", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "retry_status_list=[]"}, {"name": "retry_method_list", "types": [], "default": "['GET', 'PUT', 'HEAD', 'DELETE', 'OPTIONS', 'TRACE']", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "retry_method_list=['GET', 'PUT', 'HEAD', 'DELETE', 'OPTIONS', 'TRACE']"}], "doc": "<p>Create Session: create a HTTP session to a server</p>\n<p><code>url</code> Base url of the server</p>\n<p><code>alias</code> Robot Framework alias to identify the session</p>\n<p><code>headers</code> Dictionary of default headers</p>\n<p><code>cookies</code> Dictionary of cookies</p>\n<p><code>auth</code> ['DOMAIN', 'username', 'password'] for NTLM Authentication</p>\n<p><code>timeout</code> Connection timeout</p>\n<p><code>proxies</code> Dictionary that contains proxy urls for HTTP and HTTPS communication</p>\n<p><code>verify</code> Whether the SSL cert will be verified. A CA_BUNDLE path can also be provided. Defaults to False.</p>\n<p><code>debug</code> Enable http verbosity option more information <a href=\"https://docs.python.org/2/library/httplib.html#httplib.HTTPConnection.set_debuglevel\">https://docs.python.org/2/library/httplib.html#httplib.HTTPConnection.set_debuglevel</a></p>\n<p><code>max_retries</code> Number of maximum retries each connection should attempt. By default it will retry 3 times in case of connection errors only. A 0 value will disable any kind of retries regardless of other retry settings. In case the number of retries is reached a retry exception is raised.</p>\n<p><code>disable_warnings</code> Disable requests warning useful when you have large number of testcases</p>\n<p><code>backoff_factor</code> Introduces a delay time between retries that is longer after each retry. eg. if backoff_factor is set to 0.1 the sleep between attemps will be: 0.0, 0.2, 0.4 More info here: <a href=\"https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html\">https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html</a></p>\n<p><code>retry_method_list</code> List of uppercased HTTP method verbs where retries are allowed. By default retries are allowed only on HTTP requests methods that are considered to be idempotent (multiple requests with the same parameters end with the same state). eg. set to ['POST', 'GET'] to retry only those kind of requests.</p>\n<p><code>retry_status_list</code> List of integer HTTP status codes that, if returned, a retry is attempted. eg. set to [502, 503] to retry requests if those status are returned. Note that max_retries must be greater than 0.</p>", "shortdoc": "Create Session: create a HTTP session to a server", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/SessionKeywords.py", "lineno": 358}, {"name": "Create Ntlm Session", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "url", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "url"}, {"name": "auth", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "auth"}, {"name": "headers", "types": [], "default": "{}", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "headers={}"}, {"name": "cookies", "types": [], "default": "{}", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "cookies={}"}, {"name": "timeout", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "timeout=None"}, {"name": "proxies", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "proxies=None"}, {"name": "verify", "types": [], "default": "False", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "verify=False"}, {"name": "debug", "types": [], "default": "0", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "debug=0"}, {"name": "max_retries", "types": [], "default": "3", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "max_retries=3"}, {"name": "backoff_factor", "types": [], "default": "0.1", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "backoff_factor=0.1"}, {"name": "disable_warnings", "types": [], "default": "0", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "disable_warnings=0"}, {"name": "retry_status_list", "types": [], "default": "[]", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "retry_status_list=[]"}, {"name": "retry_method_list", "types": [], "default": "['GET', 'PUT', 'HEAD', 'DELETE', 'OPTIONS', 'TRACE']", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "retry_method_list=['GET', 'PUT', 'HEAD', 'DELETE', 'OPTIONS', 'TRACE']"}], "doc": "<p>Create Session: create a HTTP session to a server</p>\n<p><code>url</code> Base url of the server</p>\n<p><code>alias</code> Robot Framework alias to identify the session</p>\n<p><code>headers</code> Dictionary of default headers</p>\n<p><code>cookies</code> Dictionary of cookies</p>\n<p><code>auth</code> ['DOMAIN', 'username', 'password'] for NTLM Authentication</p>\n<p><code>timeout</code> Connection timeout</p>\n<p><code>proxies</code> Dictionary that contains proxy urls for HTTP and HTTPS communication</p>\n<p><code>verify</code> Whether the SSL cert will be verified. A CA_BUNDLE path can also be provided. Defaults to False.</p>\n<p><code>debug</code> Enable http verbosity option more information <a href=\"https://docs.python.org/2/library/httplib.html#httplib.HTTPConnection.set_debuglevel\">https://docs.python.org/2/library/httplib.html#httplib.HTTPConnection.set_debuglevel</a></p>\n<p><code>max_retries</code> Number of maximum retries each connection should attempt. By default it will retry 3 times in case of connection errors only. A 0 value will disable any kind of retries regardless of other retry settings. In case the number of retries is reached a retry exception is raised.</p>\n<p><code>disable_warnings</code> Disable requests warning useful when you have large number of testcases</p>\n<p><code>backoff_factor</code> Introduces a delay time between retries that is longer after each retry. eg. if backoff_factor is set to 0.1 the sleep between attemps will be: 0.0, 0.2, 0.4 More info here: <a href=\"https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html\">https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html</a></p>\n<p><code>retry_method_list</code> List of uppercased HTTP method verbs where retries are allowed. By default retries are allowed only on HTTP requests methods that are considered to be idempotent (multiple requests with the same parameters end with the same state). eg. set to ['POST', 'GET'] to retry only those kind of requests.</p>\n<p><code>retry_status_list</code> List of integer HTTP status codes that, if returned, a retry is attempted. eg. set to [502, 503] to retry requests if those status are returned. Note that max_retries must be greater than 0.</p>", "shortdoc": "Create Session: create a HTTP session to a server", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/SessionKeywords.py", "lineno": 435}, {"name": "Create Session", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "url", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "url"}, {"name": "headers", "types": [], "default": "{}", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "headers={}"}, {"name": "cookies", "types": [], "default": "{}", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "cookies={}"}, {"name": "auth", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "auth=None"}, {"name": "timeout", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "timeout=None"}, {"name": "proxies", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "proxies=None"}, {"name": "verify", "types": [], "default": "False", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "verify=False"}, {"name": "debug", "types": [], "default": "0", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "debug=0"}, {"name": "max_retries", "types": [], "default": "3", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "max_retries=3"}, {"name": "backoff_factor", "types": [], "default": "0.1", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "backoff_factor=0.1"}, {"name": "disable_warnings", "types": [], "default": "0", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "disable_warnings=0"}, {"name": "retry_status_list", "types": [], "default": "[]", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "retry_status_list=[]"}, {"name": "retry_method_list", "types": [], "default": "['GET', 'PUT', 'HEAD', 'DELETE', 'OPTIONS', 'TRACE']", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "retry_method_list=['GET', 'PUT', 'HEAD', 'DELETE', 'OPTIONS', 'TRACE']"}], "doc": "<p>Create Session: create a HTTP session to a server</p>\n<p><code>alias</code> Robot Framework alias to identify the session</p>\n<p><code>url</code> Base url of the server</p>\n<p><code>headers</code> Dictionary of default headers</p>\n<p><code>cookies</code> Dictionary of cookies</p>\n<p><code>auth</code> List of username &amp; password for HTTP Basic Auth</p>\n<p><code>timeout</code> Connection timeout</p>\n<p><code>proxies</code> Dictionary that contains proxy urls for HTTP and HTTPS communication</p>\n<p><code>verify</code> Whether the SSL cert will be verified. A CA_BUNDLE path can also be provided.</p>\n<p><code>debug</code> Enable http verbosity option more information <a href=\"https://docs.python.org/2/library/httplib.html#httplib.HTTPConnection.set_debuglevel\">https://docs.python.org/2/library/httplib.html#httplib.HTTPConnection.set_debuglevel</a></p>\n<p><code>max_retries</code> Number of maximum retries each connection should attempt. By default it will retry 3 times in case of connection errors only. A 0 value will disable any kind of retries regardless of other retry settings. In case the number of retries is reached a retry exception is raised.</p>\n<p><code>disable_warnings</code> Disable requests warning useful when you have large number of testcases</p>\n<p><code>backoff_factor</code> Introduces a delay time between retries that is longer after each retry. eg. if backoff_factor is set to 0.1 the sleep between attemps will be: 0.0, 0.2, 0.4 More info here: <a href=\"https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html\">https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html</a></p>\n<p><code>retry_method_list</code> List of uppercased HTTP method verbs where retries are allowed. By default retries are allowed only on HTTP requests methods that are considered to be idempotent (multiple requests with the same parameters end with the same state). eg. set to ['POST', 'GET'] to retry only those kind of requests.</p>\n<p><code>retry_status_list</code> List of integer HTTP status codes that, if returned, a retry is attempted. eg. set to [502, 503] to retry requests if those status are returned. Note that max_retries must be greater than 0.</p>", "shortdoc": "Create Session: create a HTTP session to a server", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/SessionKeywords.py", "lineno": 109}, {"name": "Delete All Sessions", "args": [], "doc": "<p>Removes all the session objects</p>", "shortdoc": "Removes all the session objects", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/SessionKeywords.py", "lineno": 539}, {"name": "DELETE On Session", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "url", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "url"}, {"name": "expected_status", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "expected_status=None"}, {"name": "msg", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "msg=None"}, {"name": "kwargs", "types": [], "default": null, "kind": "VAR_NAMED", "required": false, "repr": "**kwargs"}], "doc": "<p>Sends a DELETE request on a previously created HTTP Session.</p>\n<p>Session will be identified using the <code>alias</code> name. The endpoint used to send the request is the <code>url</code> parameter.</p>\n<p>By default this keyword fails if a status code with error values is returned in the response, this behavior can be modified using the <code>expected_status</code> and <code>msg</code> parameters, read more about it in <a href=\"#Status%20Should%20Be\" class=\"name\">Status Should Be</a> keyword documentation. In order to disable this implicit assert mechanism you can pass as <code>expected_status</code> the values <code>any</code> or <code>anything</code>.</p>\n<p>Other optional requests arguments can be passed using <code>**kwargs</code> see the <a href=\"#GET%20On%20Session\" class=\"name\">GET On Session</a> keyword for the complete list.</p>", "shortdoc": "Sends a DELETE request on a previously created HTTP Session.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/RequestsOnSessionKeywords.py", "lineno": 137}, {"name": "Delete Request", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "uri", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "uri"}, {"name": "data", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "data=None"}, {"name": "json", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "json=None"}, {"name": "params", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "params=None"}, {"name": "headers", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "headers=None"}, {"name": "allow_redirects", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "allow_redirects=None"}, {"name": "timeout", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "timeout=None"}], "doc": "<p><b>DEPRECATED</b> Please use <a href=\"#DELETE%20On%20Session\" class=\"name\">DELETE On Session</a> instead.</p>\n<p>Send a DELETE request on the session object found using the given <span class=\"name\">alias</span></p>\n<p><code>alias</code> that will be used to identify the Session object in the cache</p>\n<p><code>uri</code> to send the DELETE request to</p>\n<p><code>json</code> a value that will be json encoded and sent as request data if data is not specified</p>\n<p><code>headers</code> a dictionary of headers to use with the request</p>\n<p><code>allow_redirects</code> Boolean. Set to True if POST/PUT/DELETE redirect following is allowed.</p>\n<p><code>timeout</code> connection timeout</p>", "shortdoc": "*DEPRECATED* Please use `DELETE On Session` instead.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/DeprecatedKeywords.py", "lineno": 261}, {"name": "Get File For Streaming Upload", "args": [{"name": "path", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "path"}], "doc": "<p>Opens and returns a file descriptor of a specified file to be passed as <code>data</code> parameter to other requests keywords.</p>\n<p>This allows streaming upload of large files without reading them into memory.</p>\n<p>File descriptor is binary mode and read only. Requests keywords will automatically close the file, if used outside this library it's up to the caller to close it.</p>", "shortdoc": "Opens and returns a file descriptor of a specified file to be passed as ``data`` parameter to other requests keywords.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/RequestsKeywords.py", "lineno": 56}, {"name": "GET On Session", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "url", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "url"}, {"name": "params", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "params=None"}, {"name": "expected_status", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "expected_status=None"}, {"name": "msg", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "msg=None"}, {"name": "kwargs", "types": [], "default": null, "kind": "VAR_NAMED", "required": false, "repr": "**kwargs"}], "doc": "<p>Sends a GET request on a previously created HTTP Session.</p>\n<p>Session will be identified using the <code>alias</code> name. The endpoint used to retrieve the resource is the <code>url</code>, while query string parameters can be passed as string, dictionary (or list of tuples or bytes) through the <code>params</code>.</p>\n<p>By default this keyword fails if a status code with error values is returned in the response, this behavior can be modified using the <code>expected_status</code> and <code>msg</code> parameters, read more about it in <a href=\"#Status%20Should%20Be\" class=\"name\">Status Should Be</a> keyword documentation. In order to disable this implicit assert mechanism you can pass as <code>expected_status</code> the values <code>any</code> or <code>anything</code>.</p>\n<p>Other optional requests arguments can be passed using <code>**kwargs</code> here is a list:</p>\n<table border=\"1\">\n<tr>\n<td><code>data</code></td>\n<td>Dictionary, list of tuples, bytes, or file-like object to send in the body of the request.</td>\n</tr>\n<tr>\n<td><code>json</code></td>\n<td>A JSON serializable Python object to send in the body of the request.</td>\n</tr>\n<tr>\n<td><code>headers</code></td>\n<td>Dictionary of HTTP Headers to send with the request.</td>\n</tr>\n<tr>\n<td><code>cookies</code></td>\n<td>Dict or CookieJar object to send with the request.</td>\n</tr>\n<tr>\n<td><code>files</code></td>\n<td>Dictionary of file-like-objects (or <code>{'name': file-tuple}</code>) for multipart encoding upload.</td>\n</tr>\n<tr>\n<td><code>file-tuple</code></td>\n<td>can be a 2-tuple <code>('filename', fileobj)</code>, 3-tuple <code>('filename', fileobj, 'content_type')</code> or a 4-tuple <code>('filename', fileobj, 'content_type', custom_headers)</code>, where <code>'content-type'</code> is a string defining the content type of the given file and <code>custom_headers</code> a dict-like object containing additional headers to add for the file.</td>\n</tr>\n<tr>\n<td><code>auth</code></td>\n<td>Auth tuple to enable Basic/Digest/Custom HTTP Auth.</td>\n</tr>\n<tr>\n<td><code>timeout</code></td>\n<td>How many seconds to wait for the server to send data before giving up, as a float, or a <code>(connect timeout, read timeout)</code> tuple.</td>\n</tr>\n<tr>\n<td><code>allow_redirects</code></td>\n<td>Boolean. Enable/disable GET/OPTIONS/POST/PUT/PATCH/DELETE/HEAD redirection. Defaults to <code>True</code>.</td>\n</tr>\n<tr>\n<td><code>proxies</code></td>\n<td>Dictionary mapping protocol to the URL of the proxy.</td>\n</tr>\n<tr>\n<td><code>verify</code></td>\n<td>Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use. Defaults to <code>True</code>. Warning: if a session has been created with <code>verify=False</code> any other requests will not verify the SSL certificate.</td>\n</tr>\n<tr>\n<td><code>stream</code></td>\n<td>if <code>False</code>, the response content will be immediately downloaded.</td>\n</tr>\n<tr>\n<td><code>cert</code></td>\n<td>if String, path to ssl client cert file (.pem). If Tuple, ('cert', 'key') pair.</td>\n</tr>\n</table>\n<p>For more updated and complete information verify the official Requests api documentation: <a href=\"https://requests.readthedocs.io/en/latest/api/\">https://requests.readthedocs.io/en/latest/api/</a></p>", "shortdoc": "Sends a GET request on a previously created HTTP Session.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/RequestsOnSessionKeywords.py", "lineno": 10}, {"name": "Get Request", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "uri", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "uri"}, {"name": "headers", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "headers=None"}, {"name": "data", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "data=None"}, {"name": "json", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "json=None"}, {"name": "params", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "params=None"}, {"name": "allow_redirects", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "allow_redirects=None"}, {"name": "timeout", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "timeout=None"}], "doc": "<p><b>DEPRECATED</b> Please use <a href=\"#GET%20On%20Session\" class=\"name\">GET On Session</a> instead.</p>\n<p>Send a GET request on the session object found using the given <span class=\"name\">alias</span></p>\n<p><code>alias</code> that will be used to identify the Session object in the cache</p>\n<p><code>uri</code> to send the GET request to</p>\n<p><code>params</code> url parameters to append to the uri</p>\n<p><code>headers</code> a dictionary of headers to use with the request</p>\n<p><code>data</code> a dictionary of key-value pairs that will be urlencoded and sent as GET data or binary data that is sent as the raw body content</p>\n<p><code>json</code> a value that will be json encoded and sent as GET data if data is not specified</p>\n<p><code>allow_redirects</code> Boolean. Set to True if POST/PUT/DELETE redirect following is allowed.</p>\n<p><code>timeout</code> connection timeout</p>", "shortdoc": "*DEPRECATED* Please use `GET On Session` instead.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/DeprecatedKeywords.py", "lineno": 36}, {"name": "HEAD On Session", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "url", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "url"}, {"name": "expected_status", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "expected_status=None"}, {"name": "msg", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "msg=None"}, {"name": "kwargs", "types": [], "default": null, "kind": "VAR_NAMED", "required": false, "repr": "**kwargs"}], "doc": "<p>Sends a HEAD request on a previously created HTTP Session.</p>\n<p>Session will be identified using the <code>alias</code> name. The endpoint used to retrieve the HTTP headers is the <code>url</code>.</p>\n<p><code>allow_redirects</code> parameter is not provided, it will be set to <span class=\"name\">False</span> (as opposed to the default behavior).</p>\n<p>By default this keyword fails if a status code with error values is returned in the response, this behavior can be modified using the <code>expected_status</code> and <code>msg</code> parameters, read more about it in <a href=\"#Status%20Should%20Be\" class=\"name\">Status Should Be</a> keyword documentation. In order to disable this implicit assert mechanism you can pass as <code>expected_status</code> the values <code>any</code> or <code>anything</code>.</p>\n<p>Other optional requests arguments can be passed using <code>**kwargs</code> see the <a href=\"#GET%20On%20Session\" class=\"name\">GET On Session</a> keyword for the complete list.</p>", "shortdoc": "Sends a HEAD request on a previously created HTTP Session.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/RequestsOnSessionKeywords.py", "lineno": 160}, {"name": "Head Request", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "uri", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "uri"}, {"name": "headers", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "headers=None"}, {"name": "allow_redirects", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "allow_redirects=None"}, {"name": "timeout", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "timeout=None"}], "doc": "<p><b>DEPRECATED</b> Please use <a href=\"#HEAD%20On%20Session\" class=\"name\">HEAD On Session</a> instead.</p>\n<p>Send a HEAD request on the session object found using the given <span class=\"name\">alias</span></p>\n<p><code>alias</code> that will be used to identify the Session object in the cache</p>\n<p><code>uri</code> to send the HEAD request to</p>\n<p><code>allow_redirects</code> Boolean. Set to True if POST/PUT/DELETE redirect following is allowed.</p>\n<p><code>headers</code> a dictionary of headers to use with the request</p>\n<p><code>timeout</code> connection timeout</p>", "shortdoc": "*DEPRECATED* Please use `HEAD On Session` instead.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/DeprecatedKeywords.py", "lineno": 308}, {"name": "OPTIONS On Session", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "url", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "url"}, {"name": "expected_status", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "expected_status=None"}, {"name": "msg", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "msg=None"}, {"name": "kwargs", "types": [], "default": null, "kind": "VAR_NAMED", "required": false, "repr": "**kwargs"}], "doc": "<p>Sends a OPTIONS request on a previously created HTTP Session.</p>\n<p>Session will be identified using the <code>alias</code> name. The endpoint used to retrieve the resource is the <code>url</code>.</p>\n<p>By default this keyword fails if a status code with error values is returned in the response, this behavior can be modified using the <code>expected_status</code> and <code>msg</code> parameters, read more about it in <a href=\"#Status%20Should%20Be\" class=\"name\">Status Should Be</a> keyword documentation. In order to disable this implicit assert mechanism you can pass as <code>expected_status</code> the values <code>any</code> or <code>anything</code>.</p>\n<p>Other optional requests arguments can be passed using <code>**kwargs</code> see the <a href=\"#GET%20On%20Session\" class=\"name\">GET On Session</a> keyword for the complete list.</p>", "shortdoc": "Sends a OPTIONS request on a previously created HTTP Session.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/RequestsOnSessionKeywords.py", "lineno": 186}, {"name": "Options Request", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "uri", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "uri"}, {"name": "headers", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "headers=None"}, {"name": "allow_redirects", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "allow_redirects=None"}, {"name": "timeout", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "timeout=None"}], "doc": "<p><b>DEPRECATED</b> Please use <a href=\"#OPTIONS%20On%20Session\" class=\"name\">OPTIONS On Session</a> instead.</p>\n<p>Send an OPTIONS request on the session object found using the given <span class=\"name\">alias</span></p>\n<p><code>alias</code> that will be used to identify the Session object in the cache</p>\n<p><code>uri</code> to send the OPTIONS request to</p>\n<p><code>allow_redirects</code> Boolean. Set to True if POST/PUT/DELETE redirect following is allowed.</p>\n<p><code>headers</code> a dictionary of headers to use with the request</p>\n<p><code>timeout</code> connection timeout</p>", "shortdoc": "*DEPRECATED* Please use `OPTIONS On Session` instead.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/DeprecatedKeywords.py", "lineno": 344}, {"name": "PATCH On Session", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "url", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "url"}, {"name": "data", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "data=None"}, {"name": "json", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "json=None"}, {"name": "expected_status", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "expected_status=None"}, {"name": "msg", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "msg=None"}, {"name": "kwargs", "types": [], "default": null, "kind": "VAR_NAMED", "required": false, "repr": "**kwargs"}], "doc": "<p>Sends a PATCH request on a previously created HTTP Session.</p>\n<p>Session will be identified using the <code>alias</code> name. The endpoint used to send the request is the <code>url</code> parameter, while its body can be passed using <code>data</code> or <code>json</code> parameters.</p>\n<p><code>data</code> can be a dictionary, list of tuples, bytes, or file-like object. If you want to pass a json body pass a dictionary as <code>json</code> parameter.</p>\n<p>By default this keyword fails if a status code with error values is returned in the response, this behavior can be modified using the <code>expected_status</code> and <code>msg</code> parameters, read more about it in <a href=\"#Status%20Should%20Be\" class=\"name\">Status Should Be</a> keyword documentation. In order to disable this implicit assert mechanism you can pass as <code>expected_status</code> the values <code>any</code> or <code>anything</code>.</p>\n<p>Other optional requests arguments can be passed using <code>**kwargs</code> see the <a href=\"#GET%20On%20Session\" class=\"name\">GET On Session</a> keyword for the complete list.</p>", "shortdoc": "Sends a PATCH request on a previously created HTTP Session.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/RequestsOnSessionKeywords.py", "lineno": 81}, {"name": "Patch Request", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "uri", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "uri"}, {"name": "data", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "data=None"}, {"name": "json", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "json=None"}, {"name": "params", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "params=None"}, {"name": "headers", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "headers=None"}, {"name": "files", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "files=None"}, {"name": "allow_redirects", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "allow_redirects=None"}, {"name": "timeout", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "timeout=None"}], "doc": "<p><b>DEPRECATED</b> Please use <a href=\"#PATCH%20On%20Session\" class=\"name\">PATCH On Session</a> instead.</p>\n<p>Send a PATCH request on the session object found using the given <span class=\"name\">alias</span></p>\n<p><code>alias</code> that will be used to identify the Session object in the cache</p>\n<p><code>uri</code> to send the PATCH request to</p>\n<p><code>data</code> a dictionary of key-value pairs that will be urlencoded and sent as PATCH data or binary data that is sent as the raw body content or file descriptor retrieved by Get File For Streaming Upload</p>\n<p><code>json</code> a value that will be json encoded and sent as PATCH data if data is not specified</p>\n<p><code>headers</code> a dictionary of headers to use with the request</p>\n<p><code>files</code> a dictionary of file names containing file data to PATCH to the server</p>\n<p><code>allow_redirects</code> Boolean. Set to True if POST/PUT/DELETE redirect following is allowed.</p>\n<p><code>params</code> url parameters to append to the uri</p>\n<p><code>timeout</code> connection timeout</p>", "shortdoc": "*DEPRECATED* Please use `PATCH On Session` instead.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/DeprecatedKeywords.py", "lineno": 147}, {"name": "POST On Session", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "url", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "url"}, {"name": "data", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "data=None"}, {"name": "json", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "json=None"}, {"name": "expected_status", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "expected_status=None"}, {"name": "msg", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "msg=None"}, {"name": "kwargs", "types": [], "default": null, "kind": "VAR_NAMED", "required": false, "repr": "**kwargs"}], "doc": "<p>Sends a POST request on a previously created HTTP Session.</p>\n<p>Session will be identified using the <code>alias</code> name. The endpoint used to send the request is the <code>url</code> parameter, while its body can be passed using <code>data</code> or <code>json</code> parameters.</p>\n<p><code>data</code> can be a dictionary, list of tuples, bytes, or file-like object. If you want to pass a json body pass a dictionary as <code>json</code> parameter.</p>\n<p>By default this keyword fails if a status code with error values is returned in the response, this behavior can be modified using the <code>expected_status</code> and <code>msg</code> parameters, read more about it in <a href=\"#Status%20Should%20Be\" class=\"name\">Status Should Be</a> keyword documentation. In order to disable this implicit assert mechanism you can pass as <code>expected_status</code> the values <code>any</code> or <code>anything</code>.</p>\n<p>Other optional requests arguments can be passed using <code>**kwargs</code> see the <a href=\"#GET%20On%20Session\" class=\"name\">GET On Session</a> keyword for the complete list.</p>", "shortdoc": "Sends a POST request on a previously created HTTP Session.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/RequestsOnSessionKeywords.py", "lineno": 53}, {"name": "Post Request", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "uri", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "uri"}, {"name": "data", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "data=None"}, {"name": "json", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "json=None"}, {"name": "params", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "params=None"}, {"name": "headers", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "headers=None"}, {"name": "files", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "files=None"}, {"name": "allow_redirects", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "allow_redirects=None"}, {"name": "timeout", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "timeout=None"}], "doc": "<p><b>DEPRECATED</b> Please use <a href=\"#POST%20On%20Session\" class=\"name\">POST On Session</a> instead.</p>\n<p>Send a POST request on the session object found using the given <span class=\"name\">alias</span></p>\n<p><code>alias</code> that will be used to identify the Session object in the cache</p>\n<p><code>uri</code> to send the POST request to</p>\n<p><code>data</code> a dictionary of key-value pairs that will be urlencoded and sent as POST data or binary data that is sent as the raw body content or passed as such for multipart form data if <code>files</code> is also defined or file descriptor retrieved by Get File For Streaming Upload</p>\n<p><code>json</code> a value that will be json encoded and sent as POST data if files or data is not specified</p>\n<p><code>params</code> url parameters to append to the uri</p>\n<p><code>headers</code> a dictionary of headers to use with the request</p>\n<p><code>files</code> a dictionary of file names containing file data to POST to the server</p>\n<p><code>allow_redirects</code> Boolean. Set to True if POST/PUT/DELETE redirect following is allowed.</p>\n<p><code>timeout</code> connection timeout</p>", "shortdoc": "*DEPRECATED* Please use `POST On Session` instead.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/DeprecatedKeywords.py", "lineno": 88}, {"name": "PUT On Session", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "url", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "url"}, {"name": "data", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "data=None"}, {"name": "json", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "json=None"}, {"name": "expected_status", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "expected_status=None"}, {"name": "msg", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "msg=None"}, {"name": "kwargs", "types": [], "default": null, "kind": "VAR_NAMED", "required": false, "repr": "**kwargs"}], "doc": "<p>Sends a PUT request on a previously created HTTP Session.</p>\n<p>Session will be identified using the <code>alias</code> name. The endpoint used to send the request is the <code>url</code> parameter, while its body can be passed using <code>data</code> or <code>json</code> parameters.</p>\n<p><code>data</code> can be a dictionary, list of tuples, bytes, or file-like object. If you want to pass a json body pass a dictionary as <code>json</code> parameter.</p>\n<p>By default this keyword fails if a status code with error values is returned in the response, this behavior can be modified using the <code>expected_status</code> and <code>msg</code> parameters, read more about it in <a href=\"#Status%20Should%20Be\" class=\"name\">Status Should Be</a> keyword documentation. In order to disable this implicit assert mechanism you can pass as <code>expected_status</code> the values <code>any</code> or <code>anything</code>.</p>\n<p>Other optional requests arguments can be passed using <code>**kwargs</code> see the <a href=\"#GET%20On%20Session\" class=\"name\">GET On Session</a> keyword for the complete list.</p>", "shortdoc": "Sends a PUT request on a previously created HTTP Session.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/RequestsOnSessionKeywords.py", "lineno": 109}, {"name": "Put Request", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "uri", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "uri"}, {"name": "data", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "data=None"}, {"name": "json", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "json=None"}, {"name": "params", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "params=None"}, {"name": "files", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "files=None"}, {"name": "headers", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "headers=None"}, {"name": "allow_redirects", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "allow_redirects=None"}, {"name": "timeout", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "timeout=None"}], "doc": "<p><b>DEPRECATED</b> Please use <a href=\"#PUT%20On%20Session\" class=\"name\">PUT On Session</a> instead.</p>\n<p>Send a PUT request on the session object found using the given <span class=\"name\">alias</span></p>\n<p><code>alias</code> that will be used to identify the Session object in the cache</p>\n<p><code>uri</code> to send the PUT request to</p>\n<p><code>data</code> a dictionary of key-value pairs that will be urlencoded and sent as PUT data or binary data that is sent as the raw body content or file descriptor retrieved by Get File For Streaming Upload</p>\n<p><code>json</code> a value that will be json encoded and sent as PUT data if data is not specified</p>\n<p><code>headers</code> a dictionary of headers to use with the request</p>\n<p><code>allow_redirects</code> Boolean. Set to True if POST/PUT/DELETE redirect following is allowed.</p>\n<p><code>params</code> url parameters to append to the uri</p>\n<p><code>timeout</code> connection timeout</p>", "shortdoc": "*DEPRECATED* Please use `PUT On Session` instead.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/DeprecatedKeywords.py", "lineno": 205}, {"name": "Request Should Be Successful", "args": [{"name": "response", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "response"}], "doc": "<p>Fails if response status code is a client or server error (4xx, 5xx).</p>\n<p><code>response</code> is the output of other requests keywords like <a href=\"#GET%20On%20Session\" class=\"name\">GET On Session</a>.</p>\n<p>In case of failure an HTTPError will be automatically raised. A custom failure message <code>msg</code> can be added like in built-in keywords.</p>\n<p>For a more versatile assert keyword see <a href=\"#Status%20Should%20Be\" class=\"name\">Status Should Be</a>.</p>", "shortdoc": "Fails if response status code is a client or server error (4xx, 5xx).", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/RequestsKeywords.py", "lineno": 41}, {"name": "Session Exists", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}], "doc": "<p>Return True if the session has been already created</p>\n<p><code>alias</code> that has been used to identify the Session object in the cache</p>", "shortdoc": "Return True if the session has been already created", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/SessionKeywords.py", "lineno": 527}, {"name": "Status Should Be", "args": [{"name": "expected_status", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "expected_status"}, {"name": "response", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "response"}, {"name": "msg", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "msg=None"}], "doc": "<p>Fails if response status code is different than the expected.</p>\n<p><code>expected_status</code> could be the code number as an integer or as string. But it could also be a named status code like 'ok', 'created', 'accepted' or 'bad request', 'not found' etc.</p>\n<p><code>response</code> is the output of other requests keywords like <a href=\"#GET%20On%20Session\" class=\"name\">GET On Session</a>.</p>\n<p>In case of failure an HTTPError will be automatically raised. A custom failure message <code>msg</code> can be added like in built-in keywords.</p>\n<p><span class=\"name\">* On Session</span> keywords (like <a href=\"#GET%20On%20Session\" class=\"name\">GET On Session</a>) already have an implicit assert mechanism, that by default, verifies the response status code. <a href=\"#Status%20Should%20Be\" class=\"name\">Status Should Be</a> keyword can be useful to do an explicit assert in case of <span class=\"name\">* On Session</span> keyword with <code>expected_status=anything</code> to disable implicit assert.</p>", "shortdoc": "Fails if response status code is different than the expected.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/RequestsKeywords.py", "lineno": 18}, {"name": "To Json", "args": [{"name": "content", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "content"}, {"name": "pretty_print", "types": [], "default": "False", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "pretty_print=False"}], "doc": "<p><b>DEPRECATED</b> Please use ${resp.json()} instead. Have a look at the improved HTML output as pretty printing replacement.</p>\n<p>Convert a string to a JSON object</p>\n<p><code>content</code> String content to convert into JSON</p>\n<p><code>pretty_print</code> If defined, will output JSON is pretty print format</p>", "shortdoc": "*DEPRECATED* Please use ${resp.json()} instead. Have a look at the improved HTML output as pretty printing replacement.", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/DeprecatedKeywords.py", "lineno": 15}, {"name": "Update Session", "args": [{"name": "alias", "types": [], "default": null, "kind": "POSITIONAL_OR_NAMED", "required": true, "repr": "alias"}, {"name": "headers", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "headers=None"}, {"name": "cookies", "types": [], "default": "None", "kind": "POSITIONAL_OR_NAMED", "required": false, "repr": "cookies=None"}], "doc": "<p>Update Session Headers: update a HTTP Session Headers</p>\n<p><code>alias</code> Robot Framework alias to identify the session</p>\n<p><code>headers</code> Dictionary of headers merge into session</p>", "shortdoc": "Update Session Headers: update a HTTP Session Headers", "tags": [], "source": "/home/luca/src/robotframework/robotframework-requests/src/RequestsLibrary/SessionKeywords.py", "lineno": 547}], "dataTypes": {"enums": [], "typedDicts": []}}
 </script>
 <title></title>
 </head>
diff --git a/src/RequestsLibrary/RequestsOnSessionKeywords.py b/src/RequestsLibrary/RequestsOnSessionKeywords.py
index d48e0659..8fbeff08 100644
--- a/src/RequestsLibrary/RequestsOnSessionKeywords.py
+++ b/src/RequestsLibrary/RequestsOnSessionKeywords.py
@@ -36,7 +36,7 @@ def get_on_session(self, alias, url, params=None,
         | ``timeout`` | How many seconds to wait for the server to send data before giving up, as a float, or a ``(connect timeout, read timeout)`` tuple. |
         | ``allow_redirects`` | Boolean. Enable/disable GET/OPTIONS/POST/PUT/PATCH/DELETE/HEAD redirection. Defaults to ``True``. |
         | ``proxies`` | Dictionary mapping protocol to the URL of the proxy. |
-        | ``verify``  | Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use. Defaults to ``True``. |
+        | ``verify``  | Either a boolean, in which case it controls whether we verify the server's TLS certificate, or a string, in which case it must be a path to a CA bundle to use. Defaults to ``True``. Warning: if a session has been created with ``verify=False`` any other requests will not verify the SSL certificate. |
         | ``stream`` | if ``False``, the response content will be immediately downloaded. |
         | ``cert`` | if String, path to ssl client cert file (.pem). If Tuple, ('cert', 'key') pair. |
 
diff --git a/src/RequestsLibrary/SessionKeywords.py b/src/RequestsLibrary/SessionKeywords.py
index c821320a..34540aa7 100644
--- a/src/RequestsLibrary/SessionKeywords.py
+++ b/src/RequestsLibrary/SessionKeywords.py
@@ -94,7 +94,6 @@ def _create_session(
         # cant pass these into the Session anymore
         self.timeout = float(timeout) if timeout is not None else None
         self.cookies = cookies
-        self.verify = verify if self.builtin.convert_to_boolean(verify) is not True else None
 
         s.url = url
 
@@ -570,8 +569,7 @@ def _common_request(
             self._get_url(session, uri),
             params=utils.utf8_urlencode(kwargs.pop('params', None)),
             timeout=self._get_timeout(kwargs.pop('timeout', None)),
-            cookies=self.cookies,
-            verify=self.verify,
+            cookies=kwargs.pop('cookies', self.cookies),
             **kwargs)
 
         log.log_request(resp)


Test patch:
diff --git a/atests/issues/315.robot b/atests/issues/315.robot
new file mode 100644
index 00000000..7c221bcb
--- /dev/null
+++ b/atests/issues/315.robot
@@ -0,0 +1,22 @@
+*** Settings ***
+Library   RequestsLibrary
+Resource  ../res_setup.robot
+
+Suite Setup     Setup Flask Http Server
+Suite Teardown  Teardown Flask Http Server And Sessions
+
+*** Test Cases ***
+Test On Session Keyword With Verify As Parameter
+
+    ${resp}=  GET On Session  ${GLOBAL_SESSION}  /  verify=${False}
+    Status Should Be  OK  ${resp}
+
+Test On Session Keyword With None Cookies As Parameter
+
+    ${resp}=  GET On Session  ${GLOBAL_SESSION}  /  cookies=${None}
+    Status Should Be  OK  ${resp}
+
+Test On Session Keyword With Cookies As Parameter
+
+    ${resp}=  GET On Session  ${GLOBAL_SESSION}  /  cookies=${False}
+    Status Should Be  OK  ${resp}
diff --git a/atests/test_request_cookies.robot b/atests/test_request_cookies.robot
new file mode 100644
index 00000000..3e9c8ddf
--- /dev/null
+++ b/atests/test_request_cookies.robot
@@ -0,0 +1,29 @@
+*** Settings ***
+Library  Collections
+Library  String
+Library  RequestsLibrary
+Resource  res_setup.robot
+
+Suite Setup     Setup Flask Http Server
+Suite Teardown  Teardown Flask Http Server And Sessions
+
+*** Test Cases ***
+
+Test Cookies Passed In Request
+    ${cookies}=  Create Dictionary  a=1 b=2
+    Create Session  cookies-session  ${HTTP_LOCAL_SERVER}
+    ${resp}=  GET On Session  cookies-session  /anything  cookies=${cookies}
+    Should Be Equal As Strings  ${resp.json()}[headers][Cookie]  a=1 b=2
+
+Test Default Cookies Passed In Session
+    ${cookies}=  Create Dictionary  a=1 b=2
+    Create Session  cookies-session  ${HTTP_LOCAL_SERVER}  cookies=${cookies}
+    ${resp}=  GET On Session  cookies-session  /anything
+    Should Be Equal As Strings  ${resp.json()}[headers][Cookie]  a=1 b=2
+
+Test Default Cookies Passed In Session Override
+    ${cookies}=  Create Dictionary  a=1 b=2
+    ${override}=  Create Dictionary  a=3 b=4
+    Create Session  cookies-session  ${HTTP_LOCAL_SERVER}  cookies=${cookies}
+    ${resp}=  GET On Session  cookies-session  /anything  cookies=${override}
+    Should Be Equal As Strings  ${resp.json()}[headers][Cookie]  a=3 b=4
diff --git a/atests/test_request_verify_ssl.robot b/atests/test_request_verify_ssl.robot
new file mode 100644
index 00000000..274a2ee9
--- /dev/null
+++ b/atests/test_request_verify_ssl.robot
@@ -0,0 +1,29 @@
+*** Settings ***
+Library  Collections
+Library  String
+Library  RequestsLibrary
+Resource  res_setup.robot
+
+#Suite Setup     Setup Flask Http Server
+#Suite Teardown  Teardown Flask Http Server And Sessions
+
+*** Test Cases ***
+
+
+#Test Unverified SSL Cert With Session Verify True
+#
+#    Create Session  unverified_ssl  unverified-ssl-??? verify=${True}
+#    Run Keyword And Expect Error  SSLError:*  GET On Session  unverified_ssl  /
+#
+#
+#Test Unverified SSL Cert With Session Verify False And Request Override True
+#
+#    Create Session  unverified_ssl  unverified-ssl-??? verify=${False}
+#    GET On Session  unverified_ssl  /  verify=${True}
+#
+#
+#Test Unverified SSL Cert With Session Verify True And Request Override False
+#
+#    Create Session  unverified_ssl  unverified-ssl-??? verify=${True}
+#    GET On Session  unverified_ssl  /  verify=${False}
+
diff --git a/utests/test_RequestKeywords.py b/utests/test_RequestKeywords.py
index 1ec9d00e..f6919dbd 100644
--- a/utests/test_RequestKeywords.py
+++ b/utests/test_RequestKeywords.py
@@ -6,12 +6,71 @@
 from utests import SCRIPT_DIR
 
 
-def test_common_request_file_descriptor_closing():
+def build_mocked_session_common_request(alias='alias', url='http://mocking.rules',
+                                        verify=None, cookies={}):
     keywords = RequestsLibrary()
-    session = keywords.create_session('alias', 'http://mocking.rules')
+    session = keywords.create_session(alias, url, verify=verify, cookies=cookies)
     # this prevents a real network call from being executed
     session.get = mock.MagicMock()
+    return session, keywords._common_request
+
+
+def test_common_request_file_descriptor_closing():
+    session, m_common_request = build_mocked_session_common_request()
     with open(os.path.join(SCRIPT_DIR, '../atests/randombytes.bin'), 'rb') as f:
-        keywords._common_request('get', session,
-                                 'http://mocking.rules', data=f)
+        m_common_request('get', session,
+                         'http://mocking.rules', data=f)
         assert f.closed is True
+
+
+def test_common_request_verify_override_true():
+    session, m_common_request = build_mocked_session_common_request(verify=False)
+    m_common_request('get', session, '/', verify=True)
+    session.get.assert_called_with('http://mocking.rules/', params=None,
+                                   timeout=None, cookies={}, verify=True)
+    assert session.verify is False
+
+
+def test_common_request_verify_override_false():
+    session, m_common_request = build_mocked_session_common_request(verify=True)
+    m_common_request('get', session, '/', verify=False)
+    session.get.assert_called_with('http://mocking.rules/', params=None,
+                                   timeout=None, cookies={}, verify=False)
+    assert session.verify is True
+
+
+def test_common_request_verify_true_default():
+    session, m_common_request = build_mocked_session_common_request(verify=True)
+    m_common_request('get', session, '/')
+    assert session.verify is True
+    session.get.assert_called_with('http://mocking.rules/', params=None,
+                                   timeout=None, cookies={})
+
+
+def test_common_request_verify_false_default():
+    session, m_common_request = build_mocked_session_common_request(verify=False)
+    m_common_request('get', session, '/')
+    assert session.verify is False
+    session.get.assert_called_with('http://mocking.rules/', params=None,
+                                   timeout=None, cookies={})
+
+
+def test_common_request_with_cookies_override():
+    session, m_common_request = build_mocked_session_common_request()
+    m_common_request('get', session, '/', cookies={'a': 1, 'b': 2})
+    session.get.assert_called_with('http://mocking.rules/', params=None,
+                                   timeout=None, cookies={'a': 1, 'b': 2})
+
+
+def test_common_request_with_cookies_override_default():
+    session, m_common_request = build_mocked_session_common_request(cookies={'a': 1, 'b': 2})
+    m_common_request('get', session, '/', cookies={'a': 3, 'b': 4})
+    session.get.assert_called_with('http://mocking.rules/', params=None,
+                                   timeout=None, cookies={'a': 3, 'b': 4})
+
+
+def test_common_request_with_cookies_default_only():
+    session, m_common_request = build_mocked_session_common_request(cookies={'a': 1, 'b': 2})
+    m_common_request('get', session, '/')
+    session.get.assert_called_with('http://mocking.rules/', params=None,
+                                   timeout=None, cookies={'a': 1, 'b': 2})