<?xml version = "1.0" encoding="utf-8" ?> | |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" | |
"DTD/xhtml1-strict.dtd"> | |
<!-- | |
See COPYING for copyright and distribution information. | |
--> | |
<html xmlns = "http://www.w3.org/1999/xhtml"> | |
<meta charset="UTF-8"> | |
<head> | |
<title>NDN Get via WebSocket</title> | |
<script type="text/javascript" src="../tools/build/ndn-js.js"></script> | |
<script type="text/javascript"> | |
var ndn = new NDN({port:9696,host:"localhost"}); | |
ndn.transport.connectWebSocket(ndn); | |
ndn.onopen = function() { | |
document.getElementById("testBtn").disabled = false; | |
}; | |
var AsyncGetClosure = function AsyncGetClosure() { | |
// Inherit from Closure. | |
Closure.call(this); | |
}; | |
AsyncGetClosure.prototype.upcall = function(kind, upcallInfo) { | |
//console.log("Closure.upcall() executed."); | |
if (kind == Closure.UPCALL_FINAL) { | |
// Do nothing. | |
} else if (kind == Closure.UPCALL_CONTENT) { | |
console.log("Closure.upcall: content signature verification pass."); | |
var content = upcallInfo.contentObject; | |
//console.log(content.name); | |
nameStr = escape(content.name.getName()); | |
document.getElementById('content').innerHTML += "<p>Name string: " + nameStr + "</p>"; | |
document.getElementById('content').innerHTML += "<p>Content buffer length: " + content.content.length + "</p>"; | |
//console.log("In callback, nameStr: " + nameStr); | |
//console.log("In callback, content: "); | |
//console.log(content); | |
document.getElementById('content').innerHTML += contentObjectToHtml(content); | |
} else if (kind == Closure.UPCALL_CONTENT_BAD) { | |
var content = upcallInfo.contentObject; | |
console.log("Closure.upcall: content signature verification fail."); | |
if (content.signature.signature) | |
console.log("Signature: " + DataUtils.toHex(content.signature.signature).toLowerCase()); | |
if (content.signature.Witness) | |
console.log("Witness: " + DataUtils.toHex(content.signature.Witness).toLowerCase()); | |
} else if (kind == Closure.UPCALL_INTEREST_TIMED_OUT) { | |
console.log("Closure.upcall called with interest time out."); | |
} | |
return Closure.RESULT_OK; | |
}; | |
function run() { | |
ndn.expressInterest(new Name(document.getElementById('interest').value), new AsyncGetClosure()); | |
} | |
</script> | |
</head> | |
<body > | |
<form> | |
Please Enter an Interest:<br /> | |
<input id="interest" type="text" name="INTEREST" size="50" value="/%C1.M.S.localhost/%C1.M.SRV/ccnd/KEY" /> | |
</form> | |
<button id="testBtn" onclick="run()" disabled="disabled">Fetch Content</button> | |
<p id="content">Content: <br/></p> | |
</body> | |
</html> |