Re: [Pharo-users] Zinc server with static and non-static files
There is ZnPrefixMappingDelegate you can use. server delegate: (ZnPrefixMappingDelegate map: 'static' to: staticFileDelegate; map: 'app' to: myApp). There is also ZnStaticFileDecoratorDelegate if you want to mimick another typical setup where all urls that resolve to a file get served from disk and any other will be forwarded to you app. server delegate: (ZnStaticFileDecoratorDelegate decorate: myApp servingFilesFrom: 'static/'). Hope this helps! Norbert
Am 28.03.2020 um 01:34 schrieb Davide Varvello via Pharo-users <pharo-users@lists.pharo.org>:
Von: Davide Varvello <varvello@yahoo.com> Betreff: Zinc server with static and non-static files Datum: 28. März 2020 um 01:34:13 MEZ An: pharo-users@lists.pharo.org
Hi Guys, Is it possible a Zinc server returns static files within a specific url path (like the ZnStaticFileServerDelegate) and also returns other logics as shown with map:#otherPath to: MyWebapp new ? TIA Davide
-- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Hi Norbert, Thank you very much for the suggestion!! Davide NorbertHartl wrote
There is ZnPrefixMappingDelegate you can use.
server delegate: (ZnPrefixMappingDelegate map: 'static' to: staticFileDelegate; map: 'app' to: myApp).
There is also ZnStaticFileDecoratorDelegate if you want to mimick another typical setup where all urls that resolve to a file get served from disk and any other will be forwarded to you app.
server delegate: (ZnStaticFileDecoratorDelegate decorate: myApp servingFilesFrom: 'static/').
Hope this helps!
Norbert
Am 28.03.2020 um 01:34 schrieb Davide Varvello via Pharo-users <
pharo-users@.pharo
>:
Von: Davide Varvello <
varvello@
>
Betreff: Zinc server with static and non-static files Datum: 28. März 2020 um 01:34:13 MEZ An:
pharo-users@.pharo
Hi Guys, Is it possible a Zinc server returns static files within a specific url path (like the ZnStaticFileServerDelegate) and also returns other logics as shown with map:#otherPath to: MyWebapp new ? TIA Davide
-- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
-- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Hi Davide, What Norbert says is all correct and useful. Go read the code of the classes he mentions. I wanted to add, that fundamentally, all this (dispatching/configuring), is not difficult to understand or to follow. Even with the aptly named ZnDefaultServerDelegate you can already do a lot, including what you asked for. Consider part of the startup file of http://zn.stfx.eu which serves its own website, together with all the default builtin responses. So the following are all possible: - http://zn.stfx.eu - http://zn.stfx.eu/zn/index.html - http://zn.stfx.eu/xn/small.html - http://zn.stfx.eu/welcome - http://zn.stfx.eu/dw-bench - ... - http://zn.stfx.eu/help (the last one lists all configured prefixes). (ZnServer defaultOn: 8180) logToTranscript; logLevel: 1; start. (staticFileServerDelegate := ZnStaticFileServerDelegate new) prefixFromString: 'zn'; directory: '/home/stfx/zn' asFileReference. ZnServer default delegate prefixMap at: 'zn' put: [ :request | staticFileServerDelegate handleRequest: request ]; at: 'redirect-to-zn' put: [ :request | ZnResponse redirect: '/zn/index.html' ]; at: '/' put: 'redirect-to-zn'. (#map:to: is newer/better) When using a block as a handler, you can literally do anything. HTH, Sven
On 28 Mar 2020, at 08:54, Norbert Hartl <norbert@hartl.name> wrote:
There is ZnPrefixMappingDelegate you can use.
server delegate: (ZnPrefixMappingDelegate map: 'static' to: staticFileDelegate; map: 'app' to: myApp).
There is also ZnStaticFileDecoratorDelegate if you want to mimick another typical setup where all urls that resolve to a file get served from disk and any other will be forwarded to you app.
server delegate: (ZnStaticFileDecoratorDelegate decorate: myApp servingFilesFrom: 'static/').
Hope this helps!
Norbert
Am 28.03.2020 um 01:34 schrieb Davide Varvello via Pharo-users <pharo-users@lists.pharo.org>:
Von: Davide Varvello <varvello@yahoo.com> Betreff: Zinc server with static and non-static files Datum: 28. März 2020 um 01:34:13 MEZ An: pharo-users@lists.pharo.org
Hi Guys, Is it possible a Zinc server returns static files within a specific url path (like the ZnStaticFileServerDelegate) and also returns other logics as shown with map:#otherPath to: MyWebapp new ? TIA Davide
-- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
Thanks Sven, crystal clear! Davide Sven Van Caekenberghe-2 wrote
Hi Davide,
What Norbert says is all correct and useful. Go read the code of the classes he mentions.
I wanted to add, that fundamentally, all this (dispatching/configuring), is not difficult to understand or to follow.
Even with the aptly named ZnDefaultServerDelegate you can already do a lot, including what you asked for. Consider part of the startup file of http://zn.stfx.eu which serves its own website, together with all the default builtin responses.
So the following are all possible:
- http://zn.stfx.eu - http://zn.stfx.eu/zn/index.html - http://zn.stfx.eu/xn/small.html - http://zn.stfx.eu/welcome - http://zn.stfx.eu/dw-bench - ... - http://zn.stfx.eu/help
(the last one lists all configured prefixes).
(ZnServer defaultOn: 8180) logToTranscript; logLevel: 1; start.
(staticFileServerDelegate := ZnStaticFileServerDelegate new) prefixFromString: 'zn'; directory: '/home/stfx/zn' asFileReference.
ZnServer default delegate prefixMap at: 'zn' put: [ :request | staticFileServerDelegate handleRequest: request ]; at: 'redirect-to-zn' put: [ :request | ZnResponse redirect: '/zn/index.html' ]; at: '/' put: 'redirect-to-zn'.
(#map:to: is newer/better)
When using a block as a handler, you can literally do anything.
HTH,
Sven
On 28 Mar 2020, at 08:54, Norbert Hartl <
norbert@
> wrote:
There is ZnPrefixMappingDelegate you can use.
server delegate: (ZnPrefixMappingDelegate map: 'static' to: staticFileDelegate; map: 'app' to: myApp).
There is also ZnStaticFileDecoratorDelegate if you want to mimick another typical setup where all urls that resolve to a file get served from disk and any other will be forwarded to you app.
server delegate: (ZnStaticFileDecoratorDelegate decorate: myApp servingFilesFrom: 'static/').
Hope this helps!
Norbert
Am 28.03.2020 um 01:34 schrieb Davide Varvello via Pharo-users <
pharo-users@.pharo
>:
Von: Davide Varvello <
varvello@
>
Betreff: Zinc server with static and non-static files Datum: 28. März 2020 um 01:34:13 MEZ An:
pharo-users@.pharo
Hi Guys, Is it possible a Zinc server returns static files within a specific url path (like the ZnStaticFileServerDelegate) and also returns other logics as shown with map:#otherPath to: MyWebapp new ? TIA Davide
-- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
-- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
participants (3)
-
Davide Varvello -
Norbert Hartl -
Sven Van Caekenberghe