<?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 Put via WebSocket</title> | |
<script type="text/javascript" src="../build/ndn-js.js"></script> | |
<script type="text/javascript"> | |
var ndn = new NDN(); | |
var AsyncPutClosure = function AsyncPutClosure() { | |
// Inherit from Closure. | |
Closure.call(this); | |
}; | |
AsyncPutClosure.prototype.upcall = function(kind, upcallInfo) { | |
if (kind == Closure.UPCALL_FINAL) { | |
// Do nothing. | |
} else if (kind == Closure.UPCALL_INTEREST) { | |
console.log('AsyncPutClosure.upcall() called.'); | |
console.log("Host: " + ndn.host + ":" + ndn.port); | |
var content = document.getElementById('content').value; | |
var interest = upcallInfo.interest; | |
var nameStr = interest.name.getName(); | |
var si = new SignedInfo(); | |
var co = new ContentObject(new Name(nameStr), si, content, new Signature()); | |
co.sign(); | |
upcallInfo.contentObject = co; | |
return Closure.RESULT_INTEREST_CONSUMED; | |
} | |
return Closure.RESULT_OK; | |
}; | |
function run() { | |
var contentName = document.getElementById('contentname').value; | |
ndn.registerPrefix(new Name(contentName), new AsyncPutClosure()); | |
document.getElementById('result').innerHTML = 'Content name \'' + contentName | |
+'\' published.'; | |
} | |
</script> | |
</head> | |
<body > | |
<form> | |
<div> | |
<p>Please Enter a Content Name:</p> | |
<input id="contentname" type="text" name="CONTENTNAME" value="/wentao.shang/regtest001" /> | |
<p>Please Enter the Content:</p> | |
<textarea id="content" cols="40" rows="5" name="CONTENT" >This works!</textarea> | |
<br /> | |
</div> | |
</form> | |
<div> | |
<button id="testBtn" onclick="run()">Publish Content</button> | |
</div> | |
<p id="result"></p> | |
</body> | |
</html> |