135 lines
5.0 KiB
HTML
135 lines
5.0 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>JSDoc: Source: net/cors.js</title>
|
|
|
|
<script src="scripts/prettify/prettify.js"> </script>
|
|
<script src="scripts/prettify/lang-css.js"> </script>
|
|
<!--[if lt IE 9]>
|
|
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
|
<![endif]-->
|
|
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
|
|
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div id="main">
|
|
|
|
<h1 class="page-title">Source: net/cors.js</h1>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<section>
|
|
<article>
|
|
<pre class="prettyprint source linenums"><code>/**
|
|
* @namespace beef.net.cors
|
|
*/
|
|
|
|
beef.net.cors = {
|
|
|
|
handler: "cors",
|
|
|
|
/**
|
|
* Response Object - used in the beef.net.request callback
|
|
*/
|
|
response:function () {
|
|
this.status = null; // 500, 404, 200, 302, etc
|
|
this.headers = null; // full response headers
|
|
this.body = null; // full response body
|
|
},
|
|
|
|
/**
|
|
* Make a cross-origin request using CORS
|
|
*
|
|
* @param method {String} HTTP verb ('GET', 'POST', 'DELETE', etc.)
|
|
* @param url {String} url
|
|
* @param data {String} request body
|
|
* @param timeout {Integer} request timeout in milliseconds
|
|
* @param callback {Function} function to callback on completion
|
|
*/
|
|
request: function(method, url, data, timeout, callback) {
|
|
|
|
var xhr;
|
|
var response = new this.response;
|
|
|
|
if (XMLHttpRequest) {
|
|
xhr = new XMLHttpRequest();
|
|
|
|
if ('withCredentials' in xhr) {
|
|
xhr.open(method, url, true);
|
|
xhr.timeout = parseInt(timeout, 10);
|
|
xhr.onerror = function() {
|
|
};
|
|
xhr.onreadystatechange = function() {
|
|
if (xhr.readyState === 4) {
|
|
response.headers = this.getAllResponseHeaders()
|
|
response.body = this.responseText;
|
|
response.status = this.status;
|
|
if (!!callback) {
|
|
if (!!response) {
|
|
callback(response);
|
|
} else {
|
|
callback('ERROR: No Response. CORS requests may be denied for this resource.')
|
|
}
|
|
}
|
|
}
|
|
};
|
|
xhr.send(data);
|
|
}
|
|
} else if (typeof XDomainRequest != "undefined") {
|
|
xhr = new XDomainRequest();
|
|
xhr.open(method, url);
|
|
xhr.onerror = function() {
|
|
};
|
|
xhr.onload = function() {
|
|
response.headers = this.getAllResponseHeaders()
|
|
response.body = this.responseText;
|
|
response.status = this.status;
|
|
if (!!callback) {
|
|
if (!!response) {
|
|
callback(response);
|
|
} else {
|
|
callback('ERROR: No Response. CORS requests may be denied for this resource.')
|
|
}
|
|
}
|
|
};
|
|
xhr.send(data);
|
|
} else {
|
|
if (!!callback) callback('ERROR: Not Supported. CORS is not supported by the browser. The request was not sent.');
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
beef.regCmp('beef.net.cors');
|
|
|
|
</code></pre>
|
|
</article>
|
|
</section>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<nav>
|
|
<h2><a href="index.html">Home</a></h2><h3>Namespaces</h3><ul><li><a href="BeefJS.html">BeefJS</a></li><li><a href="beef.are.html">are</a></li><li><a href="beef.browser.html">browser</a></li><li><a href="beef.browser.cookie.html">cookie</a></li><li><a href="beef.browser.popup.html">popup</a></li><li><a href="beef.dom.html">dom</a></li><li><a href="beef.encode.base64.html">base64</a></li><li><a href="beef.encode.json.html">json</a></li><li><a href="beef.geolocation.html">geolocation</a></li><li><a href="beef.hardware.html">hardware</a></li><li><a href="beef.init.html">init</a></li><li><a href="beef.logger.html">logger</a></li><li><a href="beef.mitb.html">mitb</a></li><li><a href="beef.net.html">net</a></li><li><a href="beef.net.connection.html">connection</a></li><li><a href="beef.net.cors.html">cors</a></li><li><a href="beef.net.dns.html">dns</a></li><li><a href="beef.net.local.html">local</a></li><li><a href="beef.net.portscanner.html">portscanner</a></li><li><a href="beef.net.requester.html">requester</a></li><li><a href="beef.net.xssrays.html">xssrays</a></li><li><a href="beef.os.html">os</a></li><li><a href="beef.session.html">session</a></li><li><a href="beef.timeout.html">timeout</a></li><li><a href="beef.updater.html">updater</a></li><li><a href="beef.webrtc.html">webrtc</a></li><li><a href="beef.websocket.html">websocket</a></li></ul><h3>Global</h3><ul><li><a href="global.html#platform">platform</a></li></ul>
|
|
</nav>
|
|
|
|
<br class="clear">
|
|
|
|
<footer>
|
|
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.3</a> on Fri Oct 04 2024 17:02:30 GMT+1000 (Australian Eastern Standard Time)
|
|
</footer>
|
|
|
|
<script> prettyPrint(); </script>
|
|
<script src="scripts/linenumber.js"> </script>
|
|
</body>
|
|
</html>
|