{"schema":"libjg2-1",
"vpath":"/git/",
"avatar":"/git/avatar/",
"alang":"",
"gen_ut":1746416070,
"reponame":"libwebsockets",
"desc":"libwebsockets lightweight C networking library",
"owner": { "name": "Andy Green", "email": "andy@warmcat.com", "md5": "c50933ca2aa61e0fe2c43d46bb6b59cb" },"url":"https://libwebsockets.org/repo/libwebsockets",
"f":3,
"items": [
{"schema":"libjg2-1",
"cid":"6e85d56d8be17525db7bb5e48cc0c547",
"oid":{ "oid": "c50479d0216d2781af3fdb257f0346b296af293b", "alias": []},"blobname": "test-apps/test.html", "blob": "\u003c!DOCTYPE html\u003e\n\u003chtml lang\u003d\u0022en\u0022\u003e\n\u003chead\u003e\n \u003cmeta charset\u003dutf-8 http-equiv\u003d\u0022Content-Language\u0022 content\u003d\u0022en\u0022/\u003e\n \u003clink rel\u003d\u0022stylesheet\u0022 type\u003d\u0022text/css\u0022 href\u003d\u0022test.css\u0022/\u003e\n \u003cscript type\u003d'text/javascript' src\u003d\u0022/lws-common.js\u0022\u003e\u003c/script\u003e\n \u003cscript type\u003d'text/javascript' src\u003d'test.js'\u003e\u003c/script\u003e\n \u003ctitle\u003eMinimal Websocket test app\u003c/title\u003e\n\u003c/head\u003e\n\n\u003cbody\u003e\n\u003cheader\u003e\u003c/header\u003e\n\u003carticle\u003e\n\n\u003ctable\u003e\u003ctr\u003e\u003ctd\u003e\n\n\u003ctable width\u003d600px\u003e\n \u003ctr\u003e\n \u003ctd valign\u003dmiddle align\u003dcenter\u003e\n \u003ca href\u003d\u0022https://libwebsockets.org\u0022\u003e\n \u003cimg src\u003d\u0022libwebsockets.org-logo.svg\u0022\u003e\u003c/a\u003e\u003c/td\u003e\u003ctd\u003e\n\t\u003csection class\u003d\u0022browser\u0022\u003e\n\t\u003cdiv id\u003dbrow\u003e...\u003c/div\u003e\u003c/section\u003e\n \u003c/td\u003e\n \u003ctd width\u003d\u002264\u0022 height\u003d\u002264\u0022 id\u003d\u0022wstransport\u0022\u003e\u003c/td\u003e\n \u003ctd width\u003d\u002264\u0022 height\u003d\u002264\u0022 id\u003d\u0022transport\u0022\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\n\u003c/table\u003e\n\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd colspan\u003d2 align\u003dcenter\u003e\nClick \u003ca href\u003d\u0022leaf.jpg\u0022 target\u003d\u0022_blank\u0022\u003eHere\u003c/a\u003e to\nhave the test server send a big picture by http.\n\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd colspan\u003d2\u003e\n\u003cdiv class\u003d\u0022tabs\u0022\u003e\n\n \u003cdiv class\u003d\u0022tab\u0022\u003e\n \u003cinput type\u003d\u0022radio\u0022 id\u003d\u0022tab-1\u0022 name\u003d\u0022tab-group-1\u0022 checked\u003e\n \u003clabel for\u003d\u0022tab-1\u0022\u003eDumb Increment Demo\u003c/label\u003e\n \n \u003cdiv class\u003d\u0022content\u0022\u003e\n \u003cdiv id\u003d\u0022dumb\u0022 class\u003d\u0022group2\u0022\u003e\n \u003ctable\u003e\n \u003ctr\u003e\n\t \u003ctd id\u003dwsdi_statustd align\u003dcenter class\u003d\u0022wsstatus\u0022\u003e\n\t \u003cspan id\u003dwsdi_status\u003eWebsocket connection not initialized\n\t \t\u003c/span\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cspan class\u003d\u0022title\u0022\u003edumb increment-protocol\u003c/span\u003e\u003c/td\u003e\n\t \u003c/tr\u003e\n\t \u003ctr\u003e\n\t \u003ctd class\u003d\u0022explain\u0022 colspan\u003d2\u003e\nThe incrementing number is coming from the server at 20Hz and is individual for\neach connection to the server... try opening a second browser window.\n\u003cbr/\u003e\u003cbr/\u003e\nThe button sends a message over the websocket link to ask the server\nto zero just this connection's number.\n\t \u003c/td\u003e\n\t \u003c/tr\u003e\n\t \u003ctr\u003e\n\t \u003ctd align\u003dcenter\u003e\u003cdiv id\u003dnumber class\u003d\u0022bigger\u0022\u003e \u003c/div\u003e\u003c/td\u003e\n\t \u003ctd align\u003dcenter\u003e\n\t \u003cinput type\u003dbutton id\u003doffset value\u003d\u0022Reset counter\u0022\u003e\n\t \u003cinput type\u003dbutton id\u003djunk value\u003d\u0022Send junk\u0022\u003e\n\t \u003c/td\u003e\n\t \u003c/tr\u003e\n\t \u003c/table\u003e\n\t\u003c/div\u003e\n \u003c/div\u003e \n \u003c/div\u003e\n\n \u003cdiv class\u003d\u0022tab\u0022\u003e\n \u003cinput type\u003d\u0022radio\u0022 id\u003d\u0022tab-2\u0022 name\u003d\u0022tab-group-1\u0022\u003e\n \u003clabel for\u003d\u0022tab-2\u0022\u003eMirror Demo\u003c/label\u003e\n \n \u003cdiv class\u003d\u0022content\u0022\u003e\n \u003cdiv id\u003d\u0022mirror\u0022 class\u003d\u0022group2\u0022\u003e\n \u003ctable\u003e\n \u003ctr\u003e\n\t \u003ctd colspan\u003d1 id\u003dwslm_statustd align\u003dcenter class\u003d\u0022wsstatus\u0022\u003e\n\t \u003cspan id\u003dwslm_status\u003eWebsocket connection not initialized\u003c/span\u003e\n\t\u003c/td\u003e\n \u003ctd\u003e\n \u003cspan class\u003d\u0022title\u0022\u003elws-mirror-protocol\u003c/span\u003e\n \u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n \u003ctd colspan\u003d2\u003e\n \u003cdiv class\u003d\u0022explain\u0022\u003e\nUse the mouse to draw on the canvas below -- all other browser windows open\non this page see your drawing in realtime and you can see any of theirs as\nwell.\n\u003cbr/\u003e\u003cbr/\u003e\nThe lws-mirror protocol doesn't interpret what is being sent to it, it just\nre-sends it to every other websocket it has a connection with using that\nprotocol, including the guy who sent the packet.\n\u003cbr/\u003e\u003cbr/\u003e\n\u003cb\u003elibwebsockets-test-client\u003c/b\u003e joins in by spamming circles on to this\nshared canvas when run.\n \u003c/div\u003e\n \u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n\t\u003ctd colspan\u003d2\u003eDrawing color:\n\t \u003cselect id\u003d\u0022color\u0022\u003e\n\t\t\u003coption value\u003d#000000\u003eBlack\u003c/option\u003e\n\t\t\u003coption value\u003d#0000ff\u003eBlue\u003c/option\u003e\n\t\t\u003coption value\u003d#20ff20\u003eGreen\u003c/option\u003e\n\t\t\u003coption value\u003d#802020\u003eDark Red\u003c/option\u003e\n\t \u003c/select\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n\t \u003ctd colspan\u003d2 width\u003d500 height\u003d320\u003e\n\t\t\u003cdiv id\u003d\u0022wslm_drawing\u0022 class\u003d\u0022bgw\u0022\u003e\u003c/div\u003e\n\t\u003c/td\u003e\n \u003c/tr\u003e\n \u003c/table\u003e\n \u003c/div\u003e\n \u003c/div\u003e \n \u003c/div\u003e\n \n \u003cdiv class\u003d\u0022tab\u0022\u003e\n \u003cinput type\u003d\u0022radio\u0022 id\u003d\u0022tab-3\u0022 name\u003d\u0022tab-group-1\u0022\u003e\n \u003clabel for\u003d\u0022tab-3\u0022\u003eClose Testing\u003c/label\u003e\n \n \u003cdiv class\u003d\u0022content\u0022\u003e\n\u003cdiv id\u003d\u0022ot\u0022 class\u003d\u0022group2\u0022\u003e\n \u003ctable\u003e\n \u003ctr\u003e\n \u003ctd\u003e\n\n\t\t\u003c/td\u003e\u003c/tr\u003e\n\t\t\u003ctr\u003e\u003ctd id\u003dot_statustd align\u003dcenter class\u003d\u0022wsstatus\u0022\u003e\n\t\t \u003cspan id\u003dot_status\u003eWebsocket connection not initialized\u003c/span\u003e\n\t\t\u003c/td\u003e\n\t\t\u003ctd colspan\u003d2\u003e\u003cspan class\u003d\u0022title\u0022\u003eOpen and close testing\n\t\t\t\t\u003c/span\u003e\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\t\n\u003ctd class\u003d\u0022explain\u0022 colspan\u003d3 \u003e\nTo help with open and close testing, you can open and close a connection by\nhand using the buttons.\u003cbr\u003e\n \u0022\u003cb\u003eClose\u003c/b\u003e\u0022 closes the connection from the browser with code 3000\n and reason 'Bye!\u0022.\u003cbr\u003e\n \u0022\u003cb\u003eRequest Server Close\u003c/b\u003e\u0022 sends a message asking the server to\ninitiate the close, which it does with code 1001 and reason \u0022Seeya\u0022.\n\u003c/td\u003e\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\u003ctd align\u003dcenter\u003e\n\t \u003cinput type\u003d\u0022button\u0022 id\u003d\u0022ot_open_btn\u0022 value\u003d\u0022Open\u0022\u003e\u003c/td\u003e\n\t\u003ctd align\u003dcenter\u003e\n\t \u003cinput type\u003d\u0022button\u0022 id\u003d\u0022ot_close_btn\u0022 disabled value\u003d\u0022Close\u0022 \u003e\u003c/td\u003e\n\t\u003ctd align\u003dcenter\u003e\n\t \u003cinput type\u003d\u0022button\u0022 id\u003d\u0022ot_req_close_btn\u0022 disabled\n\t \t value\u003d\u0022Request Server Close\u0022 \u003e\u003c/td\u003e\n\t\u003c/tr\u003e\n\n\u003c/table\u003e\n\n\u003c/div\u003e\n \u003c/div\u003e \n \u003c/div\u003e\n \n \u003cdiv class\u003d\u0022tab\u0022\u003e\n \u003cinput type\u003d\u0022radio\u0022 id\u003d\u0022tab-4\u0022 name\u003d\u0022tab-group-1\u0022\u003e\n \u003clabel for\u003d\u0022tab-4\u0022\u003eServer info\u003c/label\u003e\n\n \u003cdiv class\u003d\u0022content\u0022\u003e\n\u003cdiv id\u003d\u0022ot\u0022 class\u003d\u0022group2\u0022\u003e\n \u003ctable\u003e\n \u003ctr\u003e\n\t\u003ctd id\u003ds_statustd align\u003dcenter class\u003d\u0022wsstatus\u0022\u003e\n\t \u003cdiv id\u003ds_status\u003eWebsocket connection not initialized\u003c/div\u003e\n\t\u003c/td\u003e\n\t \u003ctd colspan\u003d1\u003e\n\t\u003cspan class\u003d\u0022title\u0022\u003eServer Info\u003c/span\u003e\n\t\t\u003cinput type\u003dbutton id\u003dpmd value\u003d\u0022Test pmd\u0022\u003e\n\n\t\u003c/td\u003e\n\t\u003c/tr\u003e\u003ctr\u003e\n\u003ctd class\u003d\u0022explain\u0022 colspan\u003d2\u003e\nThis information is sent by the server over a ws[s] link and updated live\nwhenever the information changes server-side.\n\u003c/td\u003e\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\u003ctd align\u003dcenter colspan\u003d2\u003e\u003cdiv id\u003dservinfo\u003e\u003c/div\u003e\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\u003ctd align\u003dcenter colspan\u003d2\u003e\u003cdiv id\u003dconninfo class\u003d\u0022conninfo\u0022\u003e\u003c/div\u003e\u003c/td\u003e\n\t\u003c/tr\u003e\n\u003c/table\u003e\n\u003c/div\u003e\n \u003c/div\u003e \n \u003c/div\u003e\n\n \u003cdiv class\u003d\u0022tab\u0022\u003e\n \u003cinput type\u003d\u0022radio\u0022 id\u003d\u0022tab-5\u0022 name\u003d\u0022tab-group-1\u0022\u003e\n \u003clabel for\u003d\u0022tab-5\u0022\u003ePOST\u003c/label\u003e\n\n \u003cdiv class\u003d\u0022content\u0022\u003e\n\u003cdiv id\u003d\u0022ot\u0022 class\u003d\u0022group2\u0022\u003e\n \u003ctable width\u003d100%\u003e\n \u003ctr\u003e\n\t \u003ctd colspan\u003d1\u003e\n\u003cspan class\u003d\u0022title\u0022\u003ePOST Form testing\u003c/span\u003e\n\t\u003c/td\u003e\n\t\u003c/tr\u003e\u003ctr\u003e\n\u003ctd class\u003d\u0022explain\u0022 colspan\u003d2\u003e\nThis tests POST handling in lws.\n\u003c/td\u003e\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\u003ctd align\u003dcenter colspan\u003d2 class\u003dtdform\u003e\u003cdiv id\u003dpostinfo\u003e\n\tFORM 1: send with urlencoded POST body args\u003cbr\u003e\n\t\u003cform action\u003d\u0022formtest\u0022 method\u003d\u0022post\u0022\u003e\n \u003cspan class\u003d\u0022f12\u0022\u003eSome text: \u003c/span\u003e\n \u003cinput type\u003d\u0022text\u0022 name\u003d\u0022text\u0022 value\u003d\u0022Give me some text\u0022\u003e\u003cbr\u003e\n \u003cinput type\u003d\u0022submit\u0022 name\u003d\u0022send\u0022 value\u003d\u0022Send the form\u0022\u003e\n\t\u003c/form\u003e\n\t\u003c/div\u003e\u003c/td\u003e\n\t\u003c/tr\u003e\n\n\n\t\u003ctr\u003e\n\t\u003ctd align\u003dcenter colspan\u003d2 class\u003dtdform\u003e\u003cdiv id\u003dpostinfo \u003e\n\tFORM 2: send with multipart/form-data\u003cbr\u003e\n\t(can handle file upload, test limited to 100KB)\u003cbr\u003e\n\t\u003cform name\u003dmultipart action\u003d\u0022formtest\u0022 method\u003d\u0022post\u0022\n\t enctype\u003d\u0022multipart/form-data\u0022\u003e\n \u003cspan class\u003d\u0022f12\u0022\u003eSome text: \u003c/span\u003e\n \u003cinput type\u003d\u0022text\u0022 name\u003d\u0022text\u0022 value\u003d\u0022Give me some text\u0022\u003e\n\u003cbr\u003e\n \u003cinput type\u003d\u0022file\u0022 name\u003d\u0022file\u0022 id\u003d\u0022file\u0022 size\u003d\u002220\u0022\u003e\u0026nbsp;\n \u003cspan id\u003dfile_info class\u003d\u0022f12\u0022\u003e\u003c/span\u003e\u003cbr\u003e\n \u003cinput type\u003d\u0022submit\u0022 id\u003d\u0022upload\u0022 name\u003d\u0022upload\u0022 disabled\u003d1 value\u003d\u0022Upload\u0022\u003e\n\t\u003c/form\u003e\n\t\u003c/div\u003e\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\n\u003c/table\u003e\n\u003c/div\u003e\n \u003c/div\u003e \n \u003c/div\u003e\n\n\u003c/div\u003e\n\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n\nLooking for support?\n\u003ca href\u003d\u0022https://libwebsockets.org\u0022\u003ehttps://libwebsockets.org\u003c/a\u003e,\n\u003ca href\u003d\u0022https://github.com/warmcat/libwebsockets\u0022\u003e\n\thttps://github.com/warmcat/libwebsockets\u003c/a\u003e\u003c/a\u003e\u003cbr/\u003e\nJoin the mailing list:\n\u003ca href\u003d\u0022https://libwebsockets.org/mailman/listinfo/libwebsockets\u0022\u003e\n\thttps://libwebsockets.org/mailman/listinfo/libwebsockets\u003c/a\u003e\n\n\u003c/article\u003e\n\n\u003c/body\u003e\n\u003c/html\u003e\n","s":{"c":1746416070,"u": 1029}}
],"g": 3028,"chitpc": 0,"ehitpc": 0,"indexed":0
,
"ab": 1, "si": 0, "db":0, "di":0, "sat":0, "lfc": "0000"}