Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 3.144.46.105
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : server.go
GOOF----LE-8-2.0��]�4h�I]gguile�	�	gdefine-module*�	�	�	gweb�	gserver�	�		gfilenameS�	
fweb/server.scm�	gimportsS�	gsrfi�	
gsrfi-9�	
�	�	ggnu�	
�	�	grnrs�	gbytevectors�	�	�	gice-9�	gbinary-ports�	�	�	grequest�	�	�	gresponse�	�	 �	!gsystem�	"grepl�	#gerror-handling�	$!"#�	%$�	&gcontrol�	'&�	('�	)giconv�	*)�	+*�	, %(+	�	-gexportsS�	.gdefine-server-impl�	/glookup-server-impl�	0gmake-server-impl�	1gserver-impl?�	2gserver-impl-name�	3gserver-impl-open�	4gserver-impl-read�	5gserver-impl-write�	6gserver-impl-close�	7gopen-server�	8gread-client�	9ghandle-request�	:gsanitize-response�	;gwrite-client�	<gclose-server�	=gserve-one-client�	>g
run-server�	?./0123456789:;<=>�	@gset-current-module�	A@�	B@�	Cggettimeofday�	Dg*timer*�	Egpk�	Fg
print-elapsed�	Ggmake-syntax-transformer�	HG�	IG�	Jg
debug-elapsed�	Kgmacro�	Lg$sc-dispatch�	ML�	NL�	Og_�	Pgany�	QOP�	Rg
*time-debug?*�	Sg
syntax-object�	Tgtop�	UT�	Vgribcage�	Wgwho�	XW�	YU�	Zf
l-1e6f79399-8�	[Z�	\VXY[�	]V�	^gx�	_^�	`f
l-1e6f79399-5�	a`�	bV_Ya�	cU\]b�	dghygiene�	ed�	fSFce�	gg
*unspecified*�	hSgce�	igsyntax-violation�	ji�	ki�	lf-source expression failed to match any pattern�	mgserver-impl�	ng%make-server-impl-procedure�	oOPPPPP�	pglambda�	qgm-1e6f79399-12�	rqT�	sg
t-1e6f79399-d�	tg
t-1e6f79399-e�	ug
t-1e6f79399-f�	vgt-1e6f79399-10�	wgt-1e6f79399-11�	xstuvw�	yrrrrr�	zfl-1e6f79399-17�	{fl-1e6f79399-18�	|fl-1e6f79399-19�	}fl-1e6f79399-1a�	~fl-1e6f79399-1b�	z{|}~��Vxy��r��fl-1e6f79399-14�����V_����gshift��g	proc-name��gargs������UU��fl-1e8ba8b5a-2ba��fl-1e8ba8b5a-2bb������V�����gkey��gvalue��gname��gformals��gbody���������UUUUU��fl-1e8ba8b5a-2ad��fl-1e8ba8b5a-2ae��fl-1e8ba8b5a-2af��fl-1e8ba8b5a-2b0��fl-1e8ba8b5a-2b1���������V�����gmake-procedure-name�����U��fl-1e8ba8b5a-29d�����V�����fl-1e8ba8b5a-29c�����V_Y���r�]��]]]]����
��d
��Sp����U�]���S��e��gopen��S��e��gread��S��e��gwrite��S��e��gclose��S��e���������gmake-struct��g
m-1e6f79399-b���T��gt-1e8ba8b5a-38d��gt-1e8ba8b5a-38c��gt-1e8ba8b5a-38b�������gm-1e8ba8b5a-38e���T�������fl-1e8ba8b5a-392��fl-1e8ba8b5a-393��fl-1e8ba8b5a-394�������V�����g	ctor-args�����fl-1e8ba8b5a-37a�����V�Y���gctor��gfield������fl-1e8ba8b5a-376��fl-1e8ba8b5a-377������V�����gform��g	type-name��gconstructor-spec��gfield-names��������UUUU��fl-1e8ba8b5a-36b��fl-1e8ba8b5a-36c��fl-1e8ba8b5a-36d��fl-1e8ba8b5a-36e��������V�����g
record-layout��gfunctional-setters��gsetters��gcopier��ggetters��gconstructor��ggetter-identifiers��gfield-identifiers������������UUUUUUUU��fl-1e8ba8b5a-343��fl-1e8ba8b5a-341��fl-1e8ba8b5a-33f��fl-1e8ba8b5a-33d��fl-1e8ba8b5a-33b��fl-1e8ba8b5a-339��fl-1e8ba8b5a-337��fl-1e8ba8b5a-335������������V�����fl-1e8ba8b5a-334�����V_Y�����]��]�]]]��]�����S�����Sm�e��S
�������������������geach-any��O����i��i��fWrong number of arguments��gidentifier?��������U]��Sn�e�grecord-type-vtable���g
pwpwpwpwpw�gdefault-record-printer���������	gset-struct-vtable-name!�
	�	�gvtable-offset-user�
��g%server-impl?-procedure�gm-1e6f79399-27�T�gt-1e6f79399-26���fl-1e6f79399-2c��V�fl-1e6f79399-29��V_�]�]]]]����
�Sp��gobj�gt-1e8ba8b5a-47e�gt-1e8ba8b5a-478� gt-1e8ba8b5a-479�!gt-1e8ba8b5a-47a�"gt-1e8ba8b5a-47d�#gt-1e8ba8b5a-47c�$gt-1e8ba8b5a-47b�% !"#$�&gm-1e8ba8b5a-47f�'&T�('''''''�)fl-1e8ba8b5a-483�*fl-1e8ba8b5a-484�+fl-1e8ba8b5a-485�,fl-1e8ba8b5a-486�-fl-1e8ba8b5a-487�.fl-1e8ba8b5a-488�/fl-1e8ba8b5a-489�0)*+,-./�1V%(0�2g	copier-id�32�4fl-1e8ba8b5a-476�54�6V3Y5�7g	ctor-name�87�9fl-1e8ba8b5a-46e�:9�;V8Y:�<��=fl-1e8ba8b5a-46c�>=�?V<Y>�@glayout�A@�Bfl-1e8ba8b5a-46a�CB�DVAYC�Eg
immutable?�FE�Gfl-1e8ba8b5a-468�HG�IVFYH�Jgfield-count�KJ�Lfl-1e8ba8b5a-466�ML�NVKYM�Og
getter-ids�PO�Qfl-1e8ba8b5a-463�RQ�SVPYR�Tg	field-ids�UT�Vfl-1e8ba8b5a-460�WV�XVUYW�Ygpredicate-name�Zg
field-spec�[E���YZ�\UUUUUU�]fl-1e8ba8b5a-453�^fl-1e8ba8b5a-454�_fl-1e8ba8b5a-455�`fl-1e8ba8b5a-456�afl-1e8ba8b5a-457�bfl-1e8ba8b5a-458�c]^_`ab�dV[\c�e�]�]1]]]]6];]?]D]I]N]S]Xd���fSe��gf�hgand�iShe��jgstruct?�kSje��lkf�mgeq?�nSme��og
struct-vtable�pSoe��qpf�rU]�sSmre�tnqs�uilt�vgu�wU]�xSwe�ygthrow-bad-struct�zy�{y�|g%server-impl-name-procedure�}gfree-id�~g
%%on-error�gm-1e6f79399-33��T�����fl-1e6f79399-35�����V_�����]��]]]]������S~����}����P��g%%type��gt-1e8ba8b5a-3a5��gt-1e8ba8b5a-3a6��gt-1e8ba8b5a-3a7��gt-1e8ba8b5a-3a8��gt-1e8ba8b5a-3a9��gt-1e8ba8b5a-3aa��gt-1e8ba8b5a-3ab�����������gm-1e8ba8b5a-3ac���T�����������fl-1e8ba8b5a-3b0��fl-1e8ba8b5a-3b1��fl-1e8ba8b5a-3b2��fl-1e8ba8b5a-3b3��fl-1e8ba8b5a-3b4��fl-1e8ba8b5a-3b5��fl-1e8ba8b5a-3b6�����������V�����ggetter��gindex������fl-1e8ba8b5a-3a3��fl-1e8ba8b5a-3a4������V������O2��UUU��fl-1e8ba8b5a-39e��fl-1e8ba8b5a-39f��fl-1e8ba8b5a-3a0�������V������]��]�]]]�]�����S�����}���O��P��gck��gerr��gs����������fl-1e6f79399-38��fl-1e6f79399-39������V�������]��]]]]����
��S�����gquote��S�����U�]���Sm�e���������g%%index��S�����}���O��P��fl-1e6f79399-3d��fl-1e6f79399-3e������V�������]��]]]]����
��S�����S������]���S
�e���������g%%copier��S�����}���O��P��fl-1e6f79399-42��fl-1e6f79399-43������V�������]��]]]]����
��S�����S�����g%%server-impl-set-fields��U�]���S��e���������gt-1e6f79399-32�����fl-1e6f79399-47�����V�������]��]]]]����
��Sp������]��]�]]]�]�����S��������gif��S�����Sm����So��������U�]���Sm�e�������g
struct-ref��S������]���S
�e�������Sy����S�����S2�e����������������������U]���S|�e�g%server-impl-open-procedure�gm-1e6f79399-4e�T��fl-1e6f79399-50��V_�]�]]]]�����S~��	}�
	P��]�]�]]]�]����S���
}�O

P��fl-1e6f79399-53�fl-1e6f79399-54��V��]�]]]]����
�S���S���U]�Sme���S���}�O
P�fl-1e6f79399-58�fl-1e6f79399-59� �!V� �"!]�]]]]����
�#S�"��$S�"��%!]�&S%e�'$&�('�)S���*})�+O
*P�,fl-1e6f79399-5d�-fl-1e6f79399-5e�.,-�/V�.�0/]�]]]]����
�1S�0��2S�0��3U/]�4S�3e�524�65�7gt-1e6f79399-4d�87�9fl-1e6f79399-62�:9�;V8:�<;]�]]]]����
�=Sp<��>�;]�]�]]]�]����?S�>��@?�AS�>��BSm>��CSo>��DC?�EU;]�FSmEe�GBDF�HS�>��I;]�JSIe�KH?J�LSy>��MS�>��NS3Ee�OMN�PL?O�QAGKP�R=@Q�SU]�TSSe�Ug%server-impl-read-procedure�Vgm-1e6f79399-69�WVT�XW�Yfl-1e6f79399-6b�ZY�[V_XZ�\W][�]]]]�����]S~\��^}]�_^P�`�][�]�]]]�]����aS�`��b}a�cO_bP�dWW�efl-1e6f79399-6e�ffl-1e6f79399-6f�gef�hV�dg�iWh][�]]]]����
�jS�i��kS�i��lUh][�mSmle�nkm�on�pS�`��q}p�rO_qP�sfl-1e6f79399-73�tfl-1e6f79399-74�ust�vV�du�wWv][�]]]]����
�xS�w��yS�w��zv][�{S	ze�|y{�}|�~S�`��}~��O_P��fl-1e6f79399-78��fl-1e6f79399-79������V�d���W�][�]]]]����
��S�����S�����U�][��S��e���������gt-1e6f79399-68�����fl-1e6f79399-7d�����V�X���W�][�]]]]����
��Sp������][�]�]]]�]�����S��������S�����Sm����So��������U�][��Sm�e�������S������][��S	�e�������Sy����S�����S4�e����������������������U][��SU�e��g%server-impl-write-procedure��gm-1e6f79399-84���T�����fl-1e6f79399-86�����V_�����]��]]]]������S~����}����P���]��]�]]]�]�����S�����}���O��P������fl-1e6f79399-89��fl-1e6f79399-8a������V�������]��]]]]����
��S�����S�����U�]���Sm�e���������S�����}���O��P��fl-1e6f79399-8e��fl-1e6f79399-8f������V�������]��]]]]����
��S�����S������]���S	�e���������S�����}���O��P��fl-1e6f79399-93��fl-1e6f79399-94������V�������]��]]]]����
��S�����S�����U�]���S��e���������gt-1e6f79399-83�����fl-1e6f79399-98�����V�������]��]]]]����
��Sp������]��]�]]]�]�����S��������S�����Sm����So��������U�]���Sm�e�������S������]���S	�e�������Sy����S�����S5�e����������������������U]���S��e��g%server-impl-close-procedure�gm-1e6f79399-9f�T��fl-1e6f79399-a1��V_�]�]]]]�����S~��}�	P�
�]�]�]]]�]����S�
��}�
O	P��fl-1e6f79399-a4�fl-1e6f79399-a5��V��]�]]]]����
�S���S���U]�Sme���S�
��}�O	P�fl-1e6f79399-a9�fl-1e6f79399-aa�� V��! ]�]]]]����
�"S�!��#S�!��$ ]�%S	$e�&#%�'&�(S�
��)}(�*O	)P�+fl-1e6f79399-ae�,fl-1e6f79399-af�-+,�.V�-�/.]�]]]]����
�0S�/��1S�/��2U.]�3S�2e�413�54�6gt-1e6f79399-9e�76�8fl-1e6f79399-b3�98�:V79�;:]�]]]]����
�<Sp;��=�:]�]�]]]�]����>S�=��?>�@S�=��ASm=��BSo=��CB>�DU:]�ESmDe�FACE�GS�=��H:]�IS	He�JG>I�KSy=��LS�=��MS6De�NLM�OK>N�P@FJO�Q<?P�RU]�SS�Re�Tgeach�UPP�VTU�WPV��XPW��YPX��Zg%%set-fields�[gdummy�\gcheck?�]gexpr�^[\��]�_gm-1e6f79399-ba�`_T�a`�����bfl-1e6f79399-bf�cfl-1e6f79399-c0�dfl-1e6f79399-c1�efl-1e6f79399-c2�ffl-1e6f79399-c3�gbcdef�hV^ag�i`�jfl-1e6f79399-bc�kj�lV_ik�mgt-1e8ba8b5a-3c4�ngt-1e8ba8b5a-3c6�ogt-1e8ba8b5a-3c5�pmno�qgm-1e8ba8b5a-3c7�rqT�srrr�tfl-1e8ba8b5a-3cb�ufl-1e8ba8b5a-3cc�vfl-1e8ba8b5a-3cd�wtuv�xVpsw�yfl-1e8ba8b5a-3c1�zfl-1e8ba8b5a-3c2�{fl-1e8ba8b5a-3c3�|yz{�}V��|�~�h]l�]x]]]}��
�SZ~���Uh]l��Sm�e��S2�e��S3�e��S4�e��S5�e��S6�e���������gmap��������glist��PPPPPP��gdefine��[�������gm-1e6f79399-e7���T���UUUUU��fl-1e6f79399-ec��fl-1e6f79399-ed��fl-1e6f79399-ee��fl-1e6f79399-ef��fl-1e6f79399-f0��fl-1e6f79399-f1����������V��������fl-1e6f79399-e9�����V_����U�]���S��e��S0�e��S��e��g
module-ref��gresolve-module��gerror��f expected a server impl in module��f"expected a server-impl or a symbol��gcall-with-error-handling��g	pass-keysS��gquit��g	interrupt������gon-errorS��gbatch-mode?��g	backtrace��gdebug��g
post-errorS��g
<response>��������g
assoc-set!��g	copy-tree��g%%<response>-set-fields��gextend-response��gbuild-response��gversionS��g	<request>��������grequest-version��gheadersS��gresponse-version��gstring?��gresponse-content-type��g
text/plain�����gassq-ref��gcharset��gcontent-type��gappend��������futf-8��gstring->bytevector��g
procedure?��gcall-with-encoded-output-string��gbytevector?��gresponse-content-length��gbytevector-length��fbad content-length��gcontent-length��grequest-method��gHEAD��gresponse-must-not-include-body?��f4response with this status code must not include body��funexpected body type��gvu8
	�j��gadapt-response-version��gwith-stack-and-prompt��gcodeS��g	provided?��gposix��gcatch��g	sigaction��gSIGINT��gthrow��gcall-with-sigint��gdefault-prompt-tag��g%start-stack��������ghttp�C5hs]4	
,-?54B>"G4Ci5DRCEDh@�]	454���B@�����>"G C�gwho
		:gt		:gfilenamefweb/server.scm�
	i
��		j	��		j	��	
	k	��		k	��		k	��		k	��		k	��	"	l	��	%	l	��	&	l	��	'	k	��	,	k	��	8	m	��		:gnameg
print-elapsed�CFR4IJKNQRfhhT]$CCLgwho
		gfilenamefweb/server.scm�		v	��		Cklh(a]	45$@6Ygx
		"gtmp		"gfilenamefweb/server.scm�
	s	��		"C5JRmh�]�C�gname
		gopen		gread			gwrite			gclose			gfilenamefweb/server.scm�
	z
��			gnameg%make-server-impl-procedure�CnR4I0KNo�h�]C�g
t-1e6f79399-d
		g
t-1e6f79399-e		g
t-1e6f79399-f			gt-1e6f79399-10			gt-1e6f79399-11						C��0�hQ]L6Iga
		gfilenamefweb/server.scm�		z
��		CO�hA]L69gfilenamefweb/server.scm�		z
��		
Ch]C		
Cklhp�]45$@45$O@45$4O?$@	
6	
6zgx
		ngtmp		ngtmp		"	ngtmp		>	ngfilenamefweb/server.scm�
	z
��		nC50Rm�4m>"G	�ni�mRmhv]�$��CCngobj
		gfilenamefweb/server.scm�
	z
��		gnameg%server-impl?-procedure�CR4I1KNQvh6]C.gt-1e6f79399-26
		
		
C��1�hQ]L6Iga
		gfilenamefweb/server.scm�		z
��		CO�hA]L69gfilenamefweb/server.scm�		z
��		
Cxh]C		
Cklhp�]45$@45$O@45$4O?$@	
6	
6zgx
		ngtmp		ngtmp		"	ngtmp		>	ngfilenamefweb/server.scm�
	z
��		nC51Rm{2hx]�&
�C6pgs
		gfilenamefweb/server.scm�
	z
��		gnameg%server-impl-name-procedure�C|R4I2KN���h:]��C2gerr
		gs					C���h:]��C2gerr
		gs					C���h:]��C2gerr
		gs					CQ�h6]C.gt-1e6f79399-32
		
		
C��2�hQ]L6Iga
		gfilenamefweb/server.scm�		z
��		CO�hA]L69gfilenamefweb/server.scm�		z
��		
C�h]C		
Cklh��]145$@45$@45$@45$	@4
5$O@45$4
O?$@66�gx
	�gtmp	�gtmp		"�gtmp		9�gtmp		P�gtmp		g�gtmp	��gfilenamefweb/server.scm�
	z
��	�C52Rm{3hx]�&�C6pgs
		gfilenamefweb/server.scm�
	z
��		gnameg%server-impl-open-procedure�CR4I3KNh:]��C2gerr
		gs					C#(h:]��C2gerr
		gs					C+16h:]��C2gerr
		gs					CQRh6]C.gt-1e6f79399-4d
		
		
C��3�hQ]L6Iga
		gfilenamefweb/server.scm�		z
��		CO�hA]L69gfilenamefweb/server.scm�		z
��		
CTh]C		
Cklh��]145$@45$@45$@45$	@4
5$O@45$4
O?$@66�gx
	�gtmp	�gtmp		"�gtmp		9�gtmp		P�gtmp		g�gtmp	��gfilenamefweb/server.scm�
	z
��	�C53Rm{4h x]�&	�C6pgs
		gfilenamefweb/server.scm�
	z
��		gnameg%server-impl-read-procedure�CUR4I4KNcjoh:]��C2gerr
		gs					Crx}h:]��C2gerr
		gs					C���h:]��C2gerr
		gs					CQ�h6]C.gt-1e6f79399-68
		
		
C��4�hQ]L6Iga
		gfilenamefweb/server.scm�		z
��		CO�hA]L69gfilenamefweb/server.scm�		z
��		
C�h]C		
Cklh��]145$@45$@45$@45$	@4
5$O@45$4
O?$@66�gx
	�gtmp	�gtmp		"�gtmp		9�gtmp		P�gtmp		g�gtmp	��gfilenamefweb/server.scm�
	z
��	�C54Rm{5h y]�&	�C6qgs
		gfilenamefweb/server.scm�
	z
��		gnameg%server-impl-write-procedure�C�R4I5KN���h:]��C2gerr
		gs					C���h:]��C2gerr
		gs					C���h:]��C2gerr
		gs					CQ�h6]C.gt-1e6f79399-83
		
		
C��5�hQ]L6Iga
		gfilenamefweb/server.scm�		z
��		CO�hA]L69gfilenamefweb/server.scm�		z
��		
C�h]C		
Cklh��]145$@45$@45$@45$	@4
5$O@45$4
O?$@66�gx
	�gtmp	�gtmp		"�gtmp		9�gtmp		P�gtmp		g�gtmp	��gfilenamefweb/server.scm�
	z
��	�C55Rm{6h y]�&	�C6qgs
		gfilenamefweb/server.scm�
	z
��		gnameg%server-impl-close-procedure�C�R4I6KN
h:]��C2gerr
		gs					C"'h:]��C2gerr
		gs					C*05h:]��C2gerr
		gs					CQQh6]C.gt-1e6f79399-9e
		
		
C��6�hQ]L6Iga
		gfilenamefweb/server.scm�		z
��		CO�hA]L69gfilenamefweb/server.scm�		z
��		
CSh]C		
Cklh��]145$@45$@45$@45$	@4
5$O@45$4
O?$@66�gx
	�gtmp	�gtmp		"�gtmp		9�gtmp		P�gtmp		g�gtmp	��gfilenamefweb/server.scm�
	z
��	�C56R4I�KNY����h v]45�����Cngdummy
		gcheck?		gs			ggetter			gexpr						Cklh(�]	45$@6�gx
		"gtmp		"gfilenamefweb/server.scm�
	z
��		"g
macro-typegsyntax-rules�gpatternsgcheck?gsggettergexprg...C5�R4I.KN����h �]C�gdummy
		gname		gopen			gread			gwrite			gclose						Cklh(�]	45$@6�gx
		"gtmp		"gfilenamefweb/server.scm�
�
��		"g
macro-typegsyntax-rules�gpatternsgnamegopengreadgwritegcloseC5.R����m�	hx]	"T�$E4455"6�$�&C"���"���6�$�&C"���"���gimpl
		ugimpl	"	Rgfilenamefweb/server.scm�
�
��		�	��	
�	��	�	��	�	��	�	,��	�	��	"�	��	"�	��	,�	��	.�	4��	7�	
��	7�	��	:�	
��	>�	��	A�	
��	V�	��	Z�	��	Z�	��	]�	��	a�	��	d�	��		ugnameglookup-server-impl�g
documentationk�Look up a server implementation.  If IMPL is a server
implementation already, it is returned directly.  If it is a symbol, the
binding named IMPL in the  (web server IMPL)  module is
looked up.  Otherwise an error is signaled.

Currently a server implementation is a somewhat opaque type, useful only
for passing to other procedures in this module, like
 read-client .�C/Rm{3h i]�&�"	45@agimpl
		 gopen-params		 gfilenamefweb/server.scm�
�
��	�		��	 �	��		 	gnamegopen-server�g
documentationk�Open a server for the given implementation.  Return one value, the
new server object.  The implementation's  open  procedure is
applied to OPEN-PARAMS, which should be a list.�C7R�m{4h(K]L�&	L	�"	4L5L6Cgfilenamefweb/server.scm�
�	��	�	��		!
C�������h]-13DUg_
			gfilenamefweb/server.scm�
�	��	�	��			


Ch0	]O45$"	
6gimpl
		*gserver		*gfilenamefweb/server.scm�
�
��	�	��	�	��	�	��	�	 ��	$�	+��	*�	��		*	gnamegread-client�g
documentationk<Read a new client from SERVER, by applying the implementation's
 read  procedure to the server.  If successful, return three
values: an object corresponding to the client, a request object, and the
request body.  If any exception occurs, return  #f  for all three
values.�C8R���{��h`-13�&.
��	�44	�55	��"	45(C@gr
			\gk			\gv				\g
additional				\gr		I	\gfilenamefweb/server.scm�
�
��	�	��	"�	��	%�	"��	,�	-��	.�	"��	4�	��	9�	��	I�	��	Q�	��	\�	��			\	
	gnamegextend-response�C�R:���{�����������������������������#hM]�$.4�&		�"	4556�&		�"	45�&
�"	4	5�${$o4
5$V454
�5$"44�554$"5645$V454
�5$"44�554$"5645$�"p4545$�$"45"45�&
�"	45&"D45$45
�$"��t6"��h 6!D4"�&		�"	4556Egrequest
	gresponse	gbody		gtype	��gdeclared-charset	��gtype	�9gdeclared-charset	�9grlen	V�gblen	V�	gfilenamefweb/server.scm�
�
��	�	��		�	��	�	��	�	1��	3�	��	7�	��	:�	��	U�	+��	m�		��	q�	��	x�	����	����	����	(����	����	����	����	'����	2����	����	����	����	����	%����	����	)����	����	����	����	����	)����	����	����	����	����	����	(����	����	����	����	'����	2����	����	���	���	���	%���	���	)���	��"�	��#�	��+�	��3�	)��7�	��9�	��:�		��D�	��I�	��P�	��V�	��`�	��e�	��i�	��p�	��t�	 ��z�	���	����	/����	����	����	.����	����	����	����		����	����	����	����	����	����	����	����	����	����	����	����	/���	���	��\		gnamegsanitize-response�g
documentationk�"Sanitize" the given response and body, making them appropriate for
the given request.

As a convenience to web handler authors, RESPONSE may be given as
an alist of headers, in which case it is used to construct a default
response.  Ensures that the response version corresponds to the request
version.  If BODY is a string, encodes the string to a bytevector,
in an encoding appropriate for RESPONSE.  Adds a
 content-length  and  content-type  header, as necessary.

If BODY is a procedure, it is called with a port as an argument,
and the output collected as a bytevector.  In the future we might try to
instead use a compressing, chunk-encoded port, and call this procedure
later, in the write-client procedure.  Authors are advised not to rely
on the procedure being called at any particular time.�C:R��hK]LLLL@Cgfilenamefweb/server.scm�
	��		��		
C:h@�](4LLLLO>G4L>GD�gresponse
		?gbody		?gstate			?gresponse		0	?gbody		0	?gfilenamefweb/server.scm�
	��		��		��	"	��	3		��	?	
��		?
C���������hf-134�5LD^g_
			gfilenamefweb/server.scm�
 	��	
!	��	!	��			


Ch8]O45$"	
O6ghandler
		3grequest		3gbody			3gstate			3gfilenamefweb/server.scm�

��		��		��	 	��	"	 ��	(	+��	3	��		3	gnameghandle-request�g
documentationf"Handle a given request, returning the response and body.

The response and response body are produced by calling the given
HANDLER with REQUEST and BODY as arguments.

The elements of STATE are also passed to HANDLER as
arguments, and may be returned as additional values.  The new
STATE, collected from the HANDLER's return values, is then
returned as a list.  The idea is that a server loop receives a handler
from the user, along with whatever state values the user is interested
in, allowing the user's handler to explicitly manage its state.�C9R�m{5h(K]L�&	L	�"	4L5LLLL6Cgfilenamefweb/server.scm�
*	��	+	��		'
C�������h]-13DUg_
			gfilenamefweb/server.scm�
.	��	.	��			


Ch0�]O45$"	
6�gimpl
		0gserver		0gclient			0gresponse			0gbody			0gfilenamefweb/server.scm�
$
��	,	��	-	��	"-	��	$-	 ��	*-	+��	0)	��		0	gnamegwrite-client�g
documentationf�Write an HTTP response and body to CLIENT.  If the server and
client support persistent connections, it is the implementation's
responsibility to keep track of the client thereafter, presumably by
attaching it to the SERVER argument somehow.�C;Rm{6h(�]�&		�"	456�gimpl
		!gserver		!gfilenamefweb/server.scm�
1
��	4	��		!	gnamegclose-server�g
documentationkRelease resources allocated by a previous invocation of
 open-server .�C<R4�i�5$������hf]6^gsig
		gfilenamefweb/server.scm�
@	*��	@	?��	@	8��		ChT]45NCLgfilenamefweb/server.scm�
>	��	@	��	
?	��		
C��h o]M$M�M�66ggfilenamefweb/server.scm�
B	��	C	��	E	(��	E	6��	E	��	G	��		
C��h o]M$M�M�66ggfilenamefweb/server.scm�
B	��	C	��	E	(��	E	6��	E	��	G	��		
C��h o]M$M�M�66ggfilenamefweb/server.scm�
B	��	C	��	E	(��	E	6��	E	��	G	��		
Ch`K]LOLO4LO>"GV4L>X4LO>"GCX4LO>"GFCgfilenamefweb/server.scm�
<	��	=	��		\
Chk-13L6cgk
			
g_			
gfilenamefweb/server.scm�
H	��	
H	��			

Ch �]
HOO6�gthunk
		g
handler-thunk		ghandler			gfilenamefweb/server.scm�
9	��	:	��		;	��	;	
��			C"�hz]6rgthunk
		g
handler-thunk		gfilenamefweb/server.scm�
8	��	8	$��			C�R��hK]L6Cgfilenamefweb/server.scm�
L	��	L	/��		
ChC]LO6;gfilenamefweb/server.scm�	L	��		
C�hK]LL6Cgfilenamefweb/server.scm�
N	-��	N	8��		
Ch8�]45U4O>XCXFGO6�gthunk
		1gk		1gproc			1gfilenamefweb/server.scm�
J
��	K	��	K	��	1N	��		1gnamegwith-stack-and-prompt�C�R89;hX]44>G$74>G	4>"G	CC	ghandler
		Xgimpl		Xgserver			Xgstate			Xgclient			Xgrequest			Xgbody			Xgresponse		/	Ugbody		/	Ugstate			/	U
gfilenamefweb/server.scm�
Q
��	X	��	V	��	[	��	^	��	2\	
��	9a	��		X	gnamegserve-one-client�g
documentationf�Read one request from SERVER, call HANDLER on the request
and body, and write the response to the client.  Return the new state
produced by the handler procedure.�C=R�/7�=h(z]"4LLL5"���L"���rgstate
		gfilenamefweb/server.scm�
�	��	�	��	�	
��	�		��	�	��		!
C<hT]4LL>"GDLgfilenamefweb/server.scm�
�	��	�	��	�	��		
ChP�-.13##4545OO6�ghandler
		Mgimpl		Mgopen-params			Mgstate			Mgimpl		&	Mgserver		1	Mgfilenamefweb/server.scm�
f
��	f	.��	f	B��	 �	��	&�	��	)�	��	1�	��	M�	��			M		gnameg
run-server�g
documentationk
�Run Guile's built-in web server.

HANDLER should be a procedure that takes two or more arguments,
the HTTP request and request body, and returns two or more values, the
response and response body.

For example, here is a simple "Hello, World!" server:

@example
 (define (handler request body)
   (values '((content-type . (text/plain)))
           "Hello, World!"))
 (run-server handler)
@end example

The response and body will be run through  sanitize-response 
before sending back to the client.

Additional arguments to HANDLER are taken from
STATE.  Additional return values are accumulated into a new
STATE, which will be used for subsequent requests.  In this way a
handler can explicitly manage its state.

The default server implementation is  http , which accepts
OPEN-PARAMS like  (#:port 8081) , among others.  See "Web
Server" in the manual, for more information.�C>RCgm
		,grtd
��gfilenamefweb/server.scm�		J
��	-	h	��	6	h
��u	i
���	z
��-��
��14�
��7��
��9;�
��M�
��R�
��V%$
��X$1
��X%7	��X-7	��X/7	��X37	��]�6
��_�J
��b|Q
��r�f
��	r�
C6
© 2025 GrazzMean