freenode/#lisp - IRC Chatlog
Search
0:43:57
Oladon
I'm trying to get Hunchentoot working with server-sent events (text/event-stream). It seems like the socket is getting closed when I run send-headers (L6); the browser tries to reconnect a few seconds later, but never receives any events. https://pastebin.com/MvqsUSgE I suspect I'm doing something silly... anyone see what I'm doing wrong, or have any ideas?
0:47:52
pjb
The message saying that the event is sent is wrong. The event has been formatted and written into some buffer. It has not been sent.
0:48:50
Oladon
How come it's closing the socket though? Shouldn't it just leave it open indefinitely?
0:53:24
pjb
Well, there may indeed be even more complications, if it's a gray stream managed by the HTTP protocol, such as a chunked-io-stream.
0:54:53
Oladon
In theory the client should leave it open when it receives text/event-stream as the content-type...
1:00:57
Oladon
Hmm, I think the server is the one killing it... curl -N should stay connected otherwise?
4:35:18
Oladon
So I've made some progress, thanks to you guys' earlier assistance: https://plaster.tymoon.eu/view/1672#1672 -- it's now correctly sending the events, but it's still closing the socket when the function finishes. And I can't seem to figure out why :(
4:47:08
Oladon
loke`: Any chance you're around? Seems that you managed to do something with Hunchentoot's detach-socket way back in 2014...
5:18:06
alandipert
has anyone built a a single-page web application with JSCL, or is anyone otherwise aware of one?
6:02:05
no-defun-allowed
ACTION notes that matrix-irc bridge appears to drop all but one "Good morning everyone!" now. :<
7:32:37
no-defun-allowed
Given you can pass conditions around like any other value and signal them, no.
7:40:27
lieven
hmmm restarts are also objects like any other, albeit with dynamic extent. there's some scope for very obfuscated code there.
9:16:36
pjb
Josh_2: the exact condition signaled by most CL functions is not specified. Since it's not specified how they're implemented, it's not even know if/what condition could be signaled in addition to those specified. It's almost never documented by library functions. So reading the source will not be that useful.
9:17:11
pjb
Josh_2: furthermore, some implementations are written in C or other languages, so it's not even easy to consider analysing the CL sources.
9:18:49
pjb
Josh_2: for example, any function that will ultimately allocate memory, could signal a out-of-memory condition. Any function that uses arithmetic operators could signal a divide-by-zero or other arithmetic-error condition.
9:45:23
pjb
Josh_2: You could write an implementation that would compute the full type of functions including the set of condition it may signal.
10:08:42
lieven
in an implementation where conditions are regular objects and that has MOP, you can define new conditions at run time
11:16:56
pjb
(ql:quickload "xmls") (xmls:toxml (xmls:NODELIST->NODE '(book () (title () "foo") (author () "bart")))) #| --> "<book><title>foo</title><author>bart</author></book>" |#
12:22:04
z147
I'm learning about CL web frameworks / app. env. Planning to serve via nginx / fastcgi. Currently experimenting with Clack. Going through the list at Cliki https://cliki.net/web%20framework. Would appreciate tips about CL web frameworks under production use / development.
12:25:13
Josh_2
then there is Smackjack for AJAX, parenscript to generate JS (If you want), postmodern for db access
12:25:32
Josh_2
currently I'm not using ningle, I have a website that is built directly on hunchentoot, but I have an idea for a website that I will most likely use ningle to build
12:27:36
z147
I'm going through the basics with clack at the moment. Areas of application will be general website/ CMS. Also need to learn more as far as input sanitation and security. So I was thinking the first step would be to seek feedback on what frameworks if any are being used in production