UNPKG

nodeforge

Version:

Fork from linuxwolf-forge, JavaScript implementations of network transports, cryptography, ciphers, PKI, message digests, and various utilities.

230 lines (205 loc) 6.84 kB
<html> <head> <link type="text/css" rel="stylesheet" media="all" href="screen.css" /> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script> <script type="text/javascript" src="forge/util.js"></script> <script type="text/javascript" src="forge/socket.js"></script> <script type="text/javascript" src="forge/http.js"></script> <script type="text/javascript" src="forge/log.js"></script> <script type="text/javascript"> //<![CDATA[ // logging category var cat = 'forge.tests.http'; window.forge.socketPool = { ready: function() { forge.log.debug(cat, 'SocketPool ready.'); } }; swfobject.embedSWF( 'forge/SocketPool.swf', 'socketPool', '0', '0', '9.0.0', false, {}, {allowscriptaccess: 'always'}, {}); // local aliases var net = window.forge.net; var http = window.forge.http; var util = window.forge.util; var client; function client_init() { try { var sp = net.createSocketPool({ flashId: 'socketPool', policyPort: 19945, msie: false }); client = http.createClient({ //url: 'http://' + window.location.host, socketPool: sp, connections: 10 }); document.getElementById('feedback').innerHTML = 'HTTP client created'; } catch(ex) { forge.log.error(cat, ex); } return false; } function client_cleanup() { var sp = client.socketPool; client.destroy(); sp.destroy(); document.getElementById('feedback').innerHTML = 'HTTP client cleaned up'; return false; } function client_send() { var request = http.createRequest({ method: 'GET', path: '/' //body: 'echo=foo', //headers: [{'Content-Type': 'application/x-www-form-urlencoded'}] }); client.send({ request: request, connected: function(e) { forge.log.debug(cat, 'connected', e); }, headerReady: function(e) { forge.log.debug(cat, 'header ready', e); }, bodyReady: function(e) { forge.log.debug(cat, 'body ready', e); }, error: function(e) { forge.log.error(cat, 'error', e); } }); document.getElementById('feedback').innerHTML = 'HTTP request sent'; return false; } function client_send_10() { for(var i = 0; i < 10; ++i) { client_send(); } return false; } function client_stress() { for(var i = 0; i < 10; ++i) { setTimeout(function() { for(var i = 0; i < 10; ++i) { client_send(); } }, 0); } return false; } function client_cookies() { var cookie = { name: 'test-cookie', value: 'test-value', maxAge: -1, secure: false, path: '/' }; client.setCookie(cookie); forge.log.debug(cat, 'cookie', client.getCookie('test-cookie')); } function client_clear_cookies() { client.clearCookies(); } function request_add_cookies() { var cookie1 = { name: 'test-cookie1', value: 'test-value1', maxAge: -1, secure: false, path: '/' }; var cookie2 = { name: 'test-cookie2', value: 'test-value2', maxAge: -1, secure: false, path: '/' }; var request = http.createRequest({ method: 'GET', path: '/' }); request.addCookie(cookie1); request.addCookie(cookie2); forge.log.debug(cat, 'request', request.toString()); } function response_get_cookies() { var response = http.createResponse(); response.appendField('Set-Cookie', 'test-cookie1=test-value1; max-age=0; path=/; secure'); response.appendField('Set-Cookie', 'test-cookie2=test-value2; ' + 'expires=Thu, 21-Aug-2008 23:47:25 GMT; path=/'); var cookies = response.getCookies(); forge.log.debug(cat, 'cookies', cookies); } //]]> </script> </head> <body> <div class="nav"><a href="index.html">Forge Tests</a> / HTTP</div> <div class="header"> <h1>HTTP Test</h1> </div> <div class="content"> <div id="socketPool"> <p>Could not load the flash SocketPool.</p> </div> <fieldset class="section"> <ul> <li>Use the controls below to test the HTTP client.</li> <li>You currently need a JavaScript console to view the output.</li> </ul> </fieldset> <fieldset class="section"> <legend>Controls</legend> <button id="init" onclick="javascript:return client_init();">init</button> <button id="cleanup" onclick="javascript:return client_cleanup();">cleanup</button> <button id="send" onclick="javascript:return client_send();">send</button> <button id="send10" onclick="javascript:return client_send_10();">send 10</button> <button id="stress" onclick="javascript:return client_stress();">stress</button> <button id="client_cookies" onclick="javascript:return client_cookies();">cookies</button> <button id="clear_cookies" onclick="javascript:return client_clear_cookies();">clear cookies</button> <button id="add_cookies" onclick="javascript:return request_add_cookies();">add cookies</button> <button id="get_cookies" onclick="javascript:return response_get_cookies();">get cookies</button> </fieldset> <fieldset class="section"> <legend>Feedback</legend> <p>Feedback from the flash SocketPool:</p> <div id="feedback"> None </div> </div> </body> </html>