Skip to content

Commit d498d89

Browse files
save file
1 parent 0558b0c commit d498d89

File tree

1 file changed

+78
-6
lines changed

1 file changed

+78
-6
lines changed

blog/25-07-24/http-server/http-server.html

Lines changed: 78 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,17 @@
6868
simple.iframe;
6969
simple.on = {};
7070

71-
var minimal = {};
72-
minimal.server = {};
71+
var minimal = {};
72+
minimal.server = {};
7373
minimal.root;
7474
minimal.iframe;
75-
minimal.on = {};
75+
minimal.on = {};
76+
77+
var login = {};
78+
login.server = {};
79+
login.root;
80+
login.iframe;
81+
login.on = {};
7682

7783

7884
async function start(){
@@ -85,6 +91,9 @@
8591
minimal.snippet = mod.minimal;
8692
minimal.snippet.initmod({on:minimal.on});
8793

94+
login.snippet = mod.login;
95+
login.snippet.initmod({on:login.on});
96+
8897

8998
initdom(document.body);
9099

@@ -117,7 +126,8 @@
117126
#web-page iframe
118127
{height:150px;border:1px solid lightgray;box-sizing:border-box}
119128

120-
129+
#login-root iframe
130+
{height:300px}
121131

122132
</style>
123133

@@ -239,8 +249,6 @@ <h4 class=blog-hdr>
239249
</div>
240250

241251

242-
243-
244252
<div id=minimal-root class=example-root>
245253

246254
<div class=blog-text>
@@ -282,6 +290,52 @@ <h4 class=blog-hdr>
282290
</div>
283291

284292

293+
<div id=login-root class=example-root>
294+
295+
<div class=blog-text>
296+
297+
<h4 class=blog-hdr>
298+
http-server-login-example.js
299+
</h4>
300+
301+
<p>
302+
This example demonstrates a simple login server, it demonstrates the use of cookies to maintain state.
303+
</p>
304+
<p>
305+
</p>
306+
<p>
307+
</p>
308+
<p>
309+
</p>
310+
<p>
311+
The server is typically accessed via
312+
<br>
313+
<a href='http://localhost:3003/home.html' target='_blank'>
314+
http://localhost:3003/home.html
315+
</a>
316+
</p>
317+
318+
<div id=btns>
319+
<input value=download type=button>
320+
</div>
321+
322+
</div>
323+
324+
325+
<snippet-terminal-console component id=login type=nodejs src='ex/login-server.js' web-console='h=100'></snippet-terminal-console>
326+
327+
328+
<div id=web-page>
329+
<div id=web-page-hdr>
330+
<img id=web-page-go src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAfCAMAAADHso01AAAARVBMVEVHcEwGBuEGBuEJCdQCAvQFBegDA/ACAvYEBOwBAfgEBeoDBO4BAfgBAvYHCNsNDMEEBeoCAvMCAvQFBuQDBe8AAP4AAfx2UBTrAAAAFXRSTlMANikQ0lym33zxaov36BoGTrnIQZUTyCZ3AAABHUlEQVQoz41T2Q7DIAwjlJty9Mr/f+oWoB2snbQ8ITmXY8PYvzGBNN4bCdMDyM1qEY/jQLsa/l1pdMFKIGozdODLhbWEBaiooiBGlEIA23wqtSeKJdpbmLAQPClsE5WT0imNZ+5K3V0tsL7ty71t+SIyFqk1YpCfTWWoDQiWVIyz7Jm4CmvOUpmMKg0863qBv3uXwVuHXjwDMLD0WPsrgVm0JYrvojwTrMYbp7g5JazNTBZ4f1aQP1d3g+6z+3jYnIZDI5rUceNNd/OtnywkZ9ejOSCq2HUfbp41sV6qRK7s/lEsmqoIVra93jm7vbkOxSmwuCyC82kr1HDToDOj3gan4mBUXOHb5x0cfHz8JUVG4eHHH9t377bp72/5Al4LH5UQD4MbAAAAAElFTkSuQmCC'>
331+
<input id=web-page-url>
332+
</div>
333+
<iframe></iframe>
334+
</div>
335+
336+
337+
</div>
338+
285339

286340
<div class=blog-text>
287341

@@ -334,6 +388,11 @@ <h4>
334388
$(minimal.root,'#web-page-go').onclick = btn.go;
335389
minimal.iframe = $(minimal.root,'iframe');
336390

391+
login.root = $('#login-root');
392+
$(login.root,'[value=download]').onclick = btn.download;
393+
$(login.root,'#web-page-go').onclick = btn.go;
394+
login.iframe = $(login.root,'iframe');
395+
337396

338397
}//initdom
339398

@@ -347,6 +406,7 @@ <h4>
347406

348407
case 'simple' : return simple;
349408
case 'minimal' : return minimal;
409+
case 'login' : return login;
350410

351411
}//switch
352412

@@ -425,6 +485,18 @@ <h4>It Works!</h4>
425485
`}},
426486
};
427487

488+
login.on['server-ready'] = function({url,port}){
489+
console.log('server-ready',url,port);
490+
login.server.url = url;
491+
login.server.port = port;
492+
493+
var path = '/home.html';
494+
$(login.root,'#web-page-url').value = path;
495+
496+
login.iframe.src = `${url}${path}`;
497+
498+
}//server-ready
499+
428500

429501
</script>
430502

0 commit comments

Comments
 (0)