From cc64c42de1fc60a2cc496828eda8c9b384bb1a0e Mon Sep 17 00:00:00 2001 From: Andrea Fontana Date: Sat, 13 Jul 2024 17:00:41 +0200 Subject: [PATCH] Docs update --- docs/file_hashes.json | 2 +- docs/serverino/config.html | 19 ++++ docs/serverino/config/Fallthrough.html | 107 ++++++++++++++++++ docs/serverino/config/onWorkerException.html | 88 ++++++++++++++ .../serverino/interfaces/Request.buildId.html | 2 +- docs/serverino/interfaces/Request.html | 7 ++ docs/serverino/interfaces/Request.id.html | 72 ++++++++++++ docs/sitemap.xml | 3 + docs/symbols.js | 5 + source/serverino/config.d | 32 +++++- 10 files changed, 332 insertions(+), 5 deletions(-) create mode 100644 docs/serverino/config/Fallthrough.html create mode 100644 docs/serverino/config/onWorkerException.html create mode 100644 docs/serverino/interfaces/Request.id.html diff --git a/docs/file_hashes.json b/docs/file_hashes.json index ec1b96b..2457bbb 100644 --- a/docs/file_hashes.json +++ b/docs/file_hashes.json @@ -1 +1 @@ -{"serverino/interfaces/HttpVersion.html":"A700784A182D9328D93F015C9FE02C8B","serverino/interfaces/Request.form.html":"ADAD489B904B0784CB515166DE5217D9","serverino/interfaces/Cookie.SameSite.html":"A0A38538C9ED2AA1AFB8698E9A29916B","serverino/interfaces/Output.setTimeout.html":"0819417509EDEA69E743772D73ADCF47","serverino/interfaces/WebSocket.onTextMessage.html":"D40D7BBEE8957F3979DBAB77D16EAE1B","serverino/interfaces/WebSocketMessage.this.html":"A8681CD0B01B07378E01D104D798BBC5","serverino/interfaces/Request.FormData.path.html":"0CE06350C12A57605BD5BF643DDF9A8F","serverino/config/onDaemonStop.html":"8283DB9578FF238E7BDA3255F54CFF53","serverino/interfaces/Request.header.html":"AFEE1ED180B79C86ABDB8A63223DE7BF","serverino/interfaces/Cookie.expire.html":"DD0A51A90377F2386DAF571CD7370637","serverino/interfaces/Request.route.html":"2FBBE289D24040A92AACF405FDC3CEED","serverino/interfaces/WebSocket.kill.html":"F16A0B920A018E16F4EFDDF808907E1A","serverino/interfaces/WebSocket.socket.html":"14BFBB06AD2795D61EED6F5887F4EF87","serverino/interfaces/Request.get.html":"D6CD98EE34DDF8482B282C12715DC365","serverino/config/ServerinoConfig.setMaxDynamicWorkerIdling.html":"65A1DCBF23AA5853648A89AC5EA43042","serverino/interfaces/WebSocketMessage.html":"0607657FEF97E23432E67ABD0AE3F606","serverino/interfaces/Cookie.path.html":"2D8E135047DDDD3B65584B619EEE4B2A","serverino/config/ServerinoConfig.enableKeepAlive.html":"D6E2F95FCD7DD561C4B8346AB63379C4","serverino/config/ServerinoConfig.setMinWorkers.html":"5E1CA703413C651E80FF17962739AA9F","serverino/config/ServerinoConfig.setMaxWorkerLifetime.html":"3EBC2A3B9CC23D9CFF6C6688E2FD0600","serverino/interfaces/WebSocket.sendPing.html":"9B4FF9E45E76667820E012BDAA09AA94","serverino/interfaces/WebSocket.killReason.html":"83E598A73D6CB55D816EF4AD50CF89C7","serverino/interfaces/Cookie.sameSite.html":"D3864C38224FA66961F5537EB4744C77","serverino/config/ServerinoConfig.setListenerBacklog.html":"17FC15305064E213AD80B56C78DB28D9","serverino/interfaces/Request.path.html":"AF06073D8E2AC273B680C2F51805D6C1","serverino/config/ServerinoConfig.disableRemoteIp.html":"8AC0A05138392BC0E6E5BA4B98937C5F","serverino/interfaces/Output.addHeader.html":"3974105787372AD433A6EF8CF09F60EF","serverino/interfaces/Request.buildId.html":"F0331BF1241D6C281F194062C5E8E4C7","serverino/interfaces/Request.post.html":"58B4E475E8068C1C1840B47DD6B34241","serverino/interfaces/Request.FormData.contentType.html":"CF52125DF07DDE07594546A5081200CC","serverino/interfaces/Cookie.httpOnly.html":"2DB5B15694EE7FB6265AE2C66FF520EF","serverino/interfaces/Request.body.html":"C7DD8D03EC05D3CCF76DA32E41DE3C32","serverino/interfaces/Cookie.domain.html":"DC906FCFE4C342B00AAF4873CDC458C3","serverino/interfaces/Cookie.this.html":"BA5A270B516C028D7A65FCA59807E295","serverino/interfaces/WebSocket.receiveMessage.html":"0DF032C15932BE4853B6D13635145C0A","serverino/interfaces/WebSocket.onMessage.html":"EFE4CF39A235B86C2F05061A68E5C9AD","serverino/interfaces/Cookie.invalidate.html":"66876BA99395F99F37A929BA165777D8","serverino/config/priority.html":"A3D2919238B0A6BAAE7F6E45C52CC59D","serverino/config/ServerinoConfig.html":"20AAFF47A8CFF5109E1C59EA0B6DB90F","serverino.html":"DE6E6814DDA2C8FD5A5BAD4B5117152C","serverino/interfaces/Request.toString.html":"596F51803E41B62EBA370637D1E093AD","serverino/config/onWebSocketUpgrade.html":"52FB8ACFFDFFA48A5FB0660BD9FA5E1B","serverino/config/onWebSocketStop.html":"437E0BCD38B564AC97B17466048A8DFA","serverino/interfaces/Request.FormData.filename.html":"EBBFC99535129F43EE6248BC42759A87","serverino/interfaces/Request.requestLine.html":"602037F283769FC6497DF2CBC7300785","serverino/interfaces/WebSocket.killRequested.html":"B6F4B71FC987C13D16E0222F95ADB2A5","serverino/interfaces/Request.SafeAccess.has.html":"321B4C9373975966CE2848E5CF291B3F","serverino/interfaces/Request.SafeAccess.data.html":"A9D70F1667576C2348C37862B1A86862","serverino/interfaces/Cookie.secure.html":"67FEA029F9B820A4631185BEEFC34DDB","serverino/interfaces/WebSocket.isSendBufferEmpty.html":"2BBA422EAF63699B39F0F099F48C9DC9","sitemap.xml":"C3B067BA3E73919C31D5E37570B46E94","index.html":"17B6E88032E21600AB2A7363948558BD","serverino/interfaces/Output.serveFile.html":"9EAA54F097CB6AB16F436FFA18580B47","serverino/interfaces/Request.SafeAccess.read.html":"4F3C7C50DF1C5094BAE7D3EDBCA7E641","serverino/interfaces/WebSocket.this.html":"B073B7FAC509B03485BEC18538C0854F","serverino/interfaces/Output.opOpAssign.html":"2030FC7BDB9511E2E4913203579EEEDD","serverino/interfaces/WebSocket.html":"708C4974B1A9FF165CBC781F86024A1E","serverino/config/ServerinoConfig.addListener.html":"82D2BD12776496667CBE7D257834DBA4","serverino/interfaces/Request.FormData.data.html":"0DF18C829BFAA1275C84D090A9E1BEAA","serverino/interfaces.html":"CC1206B21C16D577CE75DD2773B3DCA4","serverino/config/onWebSocketStart.html":"F7DE6081BC2264A9B96DA03D5C49875F","serverino/config/onWorkerStart.html":"50A6D9F04B5A02338581B00CFFD24941","serverino/config/ServerinoConfig.create.html":"B7C694F6C71FBE20F413477255C2F71C","serverino/interfaces/Request.user.html":"D15312C06273F2F1B7AD8047FFDB6352","serverino/interfaces/Request.Method.html":"A0A511A8B33285D955DA49DD5697725E","serverino/interfaces/Request.SafeAccess.html":"474E1192D45CA66EC3DC080186DB2A11","serverino/config/ServerinoConfig.setReturnCode.html":"289CD84CAC967A57EA2B51B946F1765F","serverino/interfaces/WebSocket.sendMessage.html":"257544F979D85A7725A0B964C799BFD6","serverino/config/onServerInit.html":"B85DE3B626A92105FFB0BA3622FB0186","serverino/interfaces/WebSocketMessage.isValid.html":"331CF503C7D6AE2D0BEB766960CB6E34","serverino/interfaces/Request.method.html":"BBE9EC496991D054AD3E0BBF9947BC81","serverino/interfaces/Output.write.html":"8ABE655A91C4B81426CC00B75A9B1071","serverino/interfaces/Request.host.html":"73A26BE39E86AE467EBDE128499385FE","serverino/config/ServerinoConfig.setMaxRequestSize.html":"848CF16112EACF39AEBB29F5397BBDDE","serverino/interfaces/OnFileServed.html":"0FBF11B3E8DCB656A00FFFA1BCB3A717","serverino/interfaces/Cookie.maxAge.html":"14D9E8FD7A7F7DB8DFDEE911FBFAB117","serverino/interfaces/Output.setCookie.html":"47F6B8B931AAEABD00BE53F6834A8750","serverino/config/ServerinoConfig.setHttpTimeout.html":"82A3E000B42E04CC540598D5CBE4BBC7","serverino/config/onWorkerStop.html":"157828230FA5D24C0744E91AEB0C3E06","serverino/interfaces/Request.html":"8C3FA68F84DF4C8FB3E667D3348211BB","serverino/interfaces/Request.dump.html":"D45DAB2B93D163639C16D9A4ADED19F1","serverino/interfaces/Request.FormData.html":"6837574AEF97AB81553C1ACC78BD38D6","serverino/interfaces/WebSocket.onBinaryMessage.html":"AC8BD644B796FA11D9B662DC92A55EC4","serverino/config/endpoint.html":"B733EFE9BEF80592F1F3E92BE1031AED","serverino/interfaces/Output.html":"7BA31ACCF7D0584ECDB98A3C89F06D8B","serverino/config/ServerinoConfig.ListenerProtocol.html":"4D2C3E171AF3DFB37FA6685F0DA01BC8","serverino/config/ServerinoConfig.enableRemoteIp.html":"540DBC239AD12A27EEC846FA15DB7B68","serverino/interfaces/WebSocketMessage.asString.html":"5192D0874B559518849D3AA7635323D6","serverino/interfaces/Output.opAssign.html":"7AF885948E3C8AA9B6925B318581F0B0","serverino/interfaces/Request.password.html":"BDC75608C67881EB17B7E95B860174F9","serverino/config/ServerinoConfig.setWorkers.html":"795F481A43112E2C1082B9045372F5ED","serverino/config/ServerinoConfig.setMaxWorkerIdling.html":"55B1DF08826CEB75F5BC9E2538D14044","serverino/config/ServerinoConfig.setMaxRequestTime.html":"9C163EE0FB851D7006E9E1617D3238B2","serverino/config/ServerinoConfig.setLogLevel.html":"10F70BCBF68D2674843AA0C75180EF03","serverino/config/route.html":"4042025A050DAC4BE9CB5FF93CE083B8","serverino/config.html":"D78D93EBF538843557653E7B1385AC4F","serverino/interfaces/WebSocket.sendClose.html":"D144BFF5153C7BA8130DEDDD280A10B0","serverino/interfaces/Output.status.html":"B69998FD3D54297379159315308F2633","serverino/interfaces/Request.cookie.html":"8291C83B06B6272DC8BC25B54302E40B","serverino/interfaces/Request.FormData.isFile.html":"60E1C232A2DBC567CAD6956372F8DF9F","serverino/config/onDaemonStart.html":"006761986CCAA48D641A12F6D68260D8","symbols.js":"72A6C9A86BD343B0BCF233637D6F2FDE","serverino/interfaces/Cookie.html":"F75EBB5E618C3345A64617F0C9B537A1","serverino/interfaces/WebSocketMessage.as.html":"75AF6770E84808C7F686245E9A5792CC","serverino/interfaces/WebSocket.send.html":"20A831AAF42AB3599B7F06F167A8CFC3","serverino/config/ServerinoConfig.setWorkerUser.html":"809C6878AC5B5DC1AFD84670808BC008","serverino/config/ServerinoConfig.disableKeepAlive.html":"9DE8CE7818BA789678FFBE00388FEC3C","serverino/config/ServerinoConfig.setWorkerGroup.html":"AF6607DC0D14CC0855AA11B8570E754B","serverino/config/ServerinoConfig.setMaxWorkers.html":"C4F230415EFFCE754D7B687667BCBA88","serverino/interfaces/Request.worker.html":"7007486292A247E6201A1EBE46CE5B41","serverino/interfaces/WebSocket.isDirty.html":"7D4786A56E2676EC93DAC0B073B9D382","serverino/interfaces/Request.FormData.name.html":"6C0A539D4A93F224940A3EDEB44DA75F","serverino/interfaces/WebSocket.onCloseMessage.html":"2C55FD6DF8A68B552BDD98146A7A5A29"} \ No newline at end of file +{"serverino/interfaces/HttpVersion.html":"A700784A182D9328D93F015C9FE02C8B","serverino/interfaces/Request.form.html":"ADAD489B904B0784CB515166DE5217D9","serverino/interfaces/Cookie.SameSite.html":"A0A38538C9ED2AA1AFB8698E9A29916B","serverino/interfaces/Output.setTimeout.html":"0819417509EDEA69E743772D73ADCF47","serverino/interfaces/WebSocket.onTextMessage.html":"D40D7BBEE8957F3979DBAB77D16EAE1B","serverino/interfaces/WebSocketMessage.this.html":"A8681CD0B01B07378E01D104D798BBC5","serverino/interfaces/Request.FormData.path.html":"0CE06350C12A57605BD5BF643DDF9A8F","serverino/config/onDaemonStop.html":"8283DB9578FF238E7BDA3255F54CFF53","serverino/interfaces/Request.header.html":"AFEE1ED180B79C86ABDB8A63223DE7BF","serverino/interfaces/Cookie.expire.html":"DD0A51A90377F2386DAF571CD7370637","serverino/interfaces/Request.route.html":"2FBBE289D24040A92AACF405FDC3CEED","serverino/interfaces/WebSocket.kill.html":"F16A0B920A018E16F4EFDDF808907E1A","serverino/interfaces/WebSocket.socket.html":"14BFBB06AD2795D61EED6F5887F4EF87","serverino/interfaces/Request.get.html":"D6CD98EE34DDF8482B282C12715DC365","serverino/config/ServerinoConfig.setMaxDynamicWorkerIdling.html":"65A1DCBF23AA5853648A89AC5EA43042","serverino/interfaces/WebSocketMessage.html":"0607657FEF97E23432E67ABD0AE3F606","serverino/interfaces/Cookie.path.html":"2D8E135047DDDD3B65584B619EEE4B2A","serverino/config/ServerinoConfig.enableKeepAlive.html":"D6E2F95FCD7DD561C4B8346AB63379C4","serverino/config/ServerinoConfig.setMinWorkers.html":"5E1CA703413C651E80FF17962739AA9F","serverino/config/ServerinoConfig.setMaxWorkerLifetime.html":"3EBC2A3B9CC23D9CFF6C6688E2FD0600","serverino/interfaces/WebSocket.sendPing.html":"9B4FF9E45E76667820E012BDAA09AA94","serverino/config/ServerinoConfig.setListenerBacklog.html":"17FC15305064E213AD80B56C78DB28D9","serverino/interfaces/WebSocket.killReason.html":"83E598A73D6CB55D816EF4AD50CF89C7","serverino/interfaces/Cookie.sameSite.html":"D3864C38224FA66961F5537EB4744C77","serverino/interfaces/Request.path.html":"AF06073D8E2AC273B680C2F51805D6C1","serverino/config/ServerinoConfig.disableRemoteIp.html":"8AC0A05138392BC0E6E5BA4B98937C5F","serverino/interfaces/Output.addHeader.html":"3974105787372AD433A6EF8CF09F60EF","serverino/interfaces/Request.buildId.html":"C6E923DCCB23EB14D06B75A72670EC1F","serverino/interfaces/Request.post.html":"58B4E475E8068C1C1840B47DD6B34241","serverino/config/Fallthrough.html":"2DB621107EEC4A2ADFFBC38CA1F4FB8A","serverino/interfaces/Request.FormData.contentType.html":"CF52125DF07DDE07594546A5081200CC","serverino/interfaces/Cookie.httpOnly.html":"2DB5B15694EE7FB6265AE2C66FF520EF","serverino/interfaces/Request.body.html":"C7DD8D03EC05D3CCF76DA32E41DE3C32","serverino/interfaces/Cookie.domain.html":"DC906FCFE4C342B00AAF4873CDC458C3","serverino/interfaces/Cookie.this.html":"BA5A270B516C028D7A65FCA59807E295","serverino/interfaces/WebSocket.receiveMessage.html":"0DF032C15932BE4853B6D13635145C0A","serverino/interfaces/WebSocket.onMessage.html":"EFE4CF39A235B86C2F05061A68E5C9AD","serverino/interfaces/Cookie.invalidate.html":"66876BA99395F99F37A929BA165777D8","serverino/config/priority.html":"A3D2919238B0A6BAAE7F6E45C52CC59D","serverino/config/ServerinoConfig.html":"20AAFF47A8CFF5109E1C59EA0B6DB90F","serverino.html":"DE6E6814DDA2C8FD5A5BAD4B5117152C","serverino/interfaces/Request.toString.html":"596F51803E41B62EBA370637D1E093AD","serverino/config/onWebSocketUpgrade.html":"52FB8ACFFDFFA48A5FB0660BD9FA5E1B","serverino/config/onWebSocketStop.html":"437E0BCD38B564AC97B17466048A8DFA","serverino/interfaces/WebSocket.killRequested.html":"B6F4B71FC987C13D16E0222F95ADB2A5","serverino/interfaces/Request.FormData.filename.html":"EBBFC99535129F43EE6248BC42759A87","serverino/interfaces/Request.requestLine.html":"602037F283769FC6497DF2CBC7300785","serverino/interfaces/Request.SafeAccess.has.html":"321B4C9373975966CE2848E5CF291B3F","serverino/interfaces/Request.SafeAccess.data.html":"A9D70F1667576C2348C37862B1A86862","serverino/interfaces/Cookie.secure.html":"67FEA029F9B820A4631185BEEFC34DDB","serverino/interfaces/WebSocket.isSendBufferEmpty.html":"2BBA422EAF63699B39F0F099F48C9DC9","sitemap.xml":"66F92EE27AA7DA040E0A137DE4BF175E","index.html":"17B6E88032E21600AB2A7363948558BD","serverino/interfaces/Output.serveFile.html":"9EAA54F097CB6AB16F436FFA18580B47","serverino/interfaces/Request.SafeAccess.read.html":"4F3C7C50DF1C5094BAE7D3EDBCA7E641","serverino/interfaces/WebSocket.this.html":"B073B7FAC509B03485BEC18538C0854F","serverino/interfaces/Output.opOpAssign.html":"2030FC7BDB9511E2E4913203579EEEDD","serverino/interfaces/WebSocket.html":"708C4974B1A9FF165CBC781F86024A1E","serverino/config/ServerinoConfig.addListener.html":"82D2BD12776496667CBE7D257834DBA4","serverino/interfaces/Request.FormData.data.html":"0DF18C829BFAA1275C84D090A9E1BEAA","serverino/interfaces.html":"CC1206B21C16D577CE75DD2773B3DCA4","serverino/config/onWebSocketStart.html":"F7DE6081BC2264A9B96DA03D5C49875F","serverino/config/onWorkerStart.html":"50A6D9F04B5A02338581B00CFFD24941","serverino/config/ServerinoConfig.create.html":"B7C694F6C71FBE20F413477255C2F71C","serverino/interfaces/Request.user.html":"D15312C06273F2F1B7AD8047FFDB6352","serverino/interfaces/Request.Method.html":"A0A511A8B33285D955DA49DD5697725E","serverino/interfaces/Request.SafeAccess.html":"474E1192D45CA66EC3DC080186DB2A11","serverino/config/ServerinoConfig.setReturnCode.html":"289CD84CAC967A57EA2B51B946F1765F","serverino/interfaces/WebSocket.sendMessage.html":"257544F979D85A7725A0B964C799BFD6","serverino/config/onServerInit.html":"B85DE3B626A92105FFB0BA3622FB0186","serverino/interfaces/WebSocketMessage.isValid.html":"331CF503C7D6AE2D0BEB766960CB6E34","serverino/interfaces/Request.method.html":"BBE9EC496991D054AD3E0BBF9947BC81","serverino/interfaces/Output.write.html":"8ABE655A91C4B81426CC00B75A9B1071","serverino/interfaces/Request.host.html":"73A26BE39E86AE467EBDE128499385FE","serverino/config/ServerinoConfig.setMaxRequestSize.html":"848CF16112EACF39AEBB29F5397BBDDE","serverino/config/onWorkerException.html":"0F33DEBC31E8280EF9F6BF879383DD46","serverino/interfaces/OnFileServed.html":"0FBF11B3E8DCB656A00FFFA1BCB3A717","serverino/interfaces/Request.id.html":"C0D502A725A26A3771797A55878B7053","serverino/interfaces/Cookie.maxAge.html":"14D9E8FD7A7F7DB8DFDEE911FBFAB117","serverino/interfaces/Output.setCookie.html":"47F6B8B931AAEABD00BE53F6834A8750","serverino/config/ServerinoConfig.setHttpTimeout.html":"82A3E000B42E04CC540598D5CBE4BBC7","serverino/config/onWorkerStop.html":"157828230FA5D24C0744E91AEB0C3E06","serverino/interfaces/Request.html":"8A899B7D2D610409878F9726FE628F9D","serverino/interfaces/Request.dump.html":"D45DAB2B93D163639C16D9A4ADED19F1","serverino/interfaces/Request.FormData.html":"6837574AEF97AB81553C1ACC78BD38D6","serverino/interfaces/WebSocket.onBinaryMessage.html":"AC8BD644B796FA11D9B662DC92A55EC4","serverino/config/endpoint.html":"B733EFE9BEF80592F1F3E92BE1031AED","serverino/interfaces/Output.html":"7BA31ACCF7D0584ECDB98A3C89F06D8B","serverino/config/ServerinoConfig.ListenerProtocol.html":"4D2C3E171AF3DFB37FA6685F0DA01BC8","serverino/config/ServerinoConfig.enableRemoteIp.html":"540DBC239AD12A27EEC846FA15DB7B68","serverino/interfaces/WebSocketMessage.asString.html":"5192D0874B559518849D3AA7635323D6","serverino/interfaces/Output.opAssign.html":"7AF885948E3C8AA9B6925B318581F0B0","serverino/interfaces/Request.password.html":"BDC75608C67881EB17B7E95B860174F9","serverino/config/ServerinoConfig.setWorkers.html":"795F481A43112E2C1082B9045372F5ED","serverino/config/ServerinoConfig.setMaxWorkerIdling.html":"55B1DF08826CEB75F5BC9E2538D14044","serverino/config/ServerinoConfig.setMaxRequestTime.html":"9C163EE0FB851D7006E9E1617D3238B2","serverino/config/ServerinoConfig.setLogLevel.html":"10F70BCBF68D2674843AA0C75180EF03","serverino/config/route.html":"4042025A050DAC4BE9CB5FF93CE083B8","serverino/config.html":"47965B6E0C262F3EB679DAC9A9503C96","serverino/interfaces/WebSocket.sendClose.html":"D144BFF5153C7BA8130DEDDD280A10B0","serverino/interfaces/Output.status.html":"B69998FD3D54297379159315308F2633","serverino/interfaces/Request.cookie.html":"8291C83B06B6272DC8BC25B54302E40B","serverino/interfaces/Request.FormData.isFile.html":"60E1C232A2DBC567CAD6956372F8DF9F","serverino/config/onDaemonStart.html":"006761986CCAA48D641A12F6D68260D8","symbols.js":"FA8D698EC87E3507A129BBA90F2E78A2","serverino/interfaces/Cookie.html":"F75EBB5E618C3345A64617F0C9B537A1","serverino/interfaces/WebSocketMessage.as.html":"75AF6770E84808C7F686245E9A5792CC","serverino/interfaces/WebSocket.send.html":"20A831AAF42AB3599B7F06F167A8CFC3","serverino/config/ServerinoConfig.setWorkerUser.html":"809C6878AC5B5DC1AFD84670808BC008","serverino/config/ServerinoConfig.disableKeepAlive.html":"9DE8CE7818BA789678FFBE00388FEC3C","serverino/config/ServerinoConfig.setWorkerGroup.html":"AF6607DC0D14CC0855AA11B8570E754B","serverino/config/ServerinoConfig.setMaxWorkers.html":"C4F230415EFFCE754D7B687667BCBA88","serverino/interfaces/Request.worker.html":"7007486292A247E6201A1EBE46CE5B41","serverino/interfaces/WebSocket.isDirty.html":"7D4786A56E2676EC93DAC0B073B9D382","serverino/interfaces/Request.FormData.name.html":"6C0A539D4A93F224940A3EDEB44DA75F","serverino/interfaces/WebSocket.onCloseMessage.html":"2C55FD6DF8A68B552BDD98146A7A5A29"} \ No newline at end of file diff --git a/docs/serverino/config.html b/docs/serverino/config.html index 8952267..d800711 100644 --- a/docs/serverino/config.html +++ b/docs/serverino/config.html @@ -102,6 +102,16 @@

Enums

UDA. Functions with @endpoint attached are called when a request is received + + + + + + Fallthrough + + + Used as optional return type for functions with @endpoint` UDA attached. + It is used to override the default behavior of serverino: if an endpoint returns Fallthrough.Yes, the next endpoint is called even if the current one has written to the output. @@ -156,6 +166,15 @@

Enums

UDA. Functions with @onWebSocketUpgrade attached are called when a websocket upgrade is requested + + + + + + onWorkerException + + + UDA. Functions with @onWorkerException attached are called when worker throws an exception diff --git a/docs/serverino/config/Fallthrough.html b/docs/serverino/config/Fallthrough.html new file mode 100644 index 0000000..d7462ef --- /dev/null +++ b/docs/serverino/config/Fallthrough.html @@ -0,0 +1,107 @@ + + + + + + Enum Fallthrough + + + + +
+ +
+
+

Enum Fallthrough

Used as optional return type for functions with @endpoint` UDA attached. + It is used to override the default behavior of serverino: if an endpoint returns Fallthrough.Yes, the next endpoint is called even if the current one has written to the output. +

+
+ +
+ enum Fallthrough + : bool { ... } +
+
+
+
// Doing a request to the server will return "Hello world!"
+
+// Will continue with the next function
+@endpoint @priority(3) auto test_1(Request r, Output o) { output ~= "Hello"; return Fallthrough.Yes; }
+
+// This blocks the chain (default behavior when output is written)
+@endpoint @priority(2) auto test_2(Request r, Output o) { output ~= " world!"; }
+
+// Never executed (blocked by test_2)
+@endpoint @priority(1) auto test_3(Request r, Output o) { output ~= "Not executed!"; }
+
+ +

Enum members

+ + + + + + + + + + + + + +
NameDescription
+ No + Stop the chain +
+ Yes + Continue with the next function +
+
+ +
+
+
+ + + +
+
+
+ + \ No newline at end of file diff --git a/docs/serverino/config/onWorkerException.html b/docs/serverino/config/onWorkerException.html new file mode 100644 index 0000000..0a87a9d --- /dev/null +++ b/docs/serverino/config/onWorkerException.html @@ -0,0 +1,88 @@ + + + + + + Enum onWorkerException + + + + +
+ +
+
+

Enum onWorkerException

UDA. Functions with @onWorkerException attached are called when worker throws an exception +

+
+ +
+ enum onWorkerException + : void { ... } +
+
+
+
@onWorkerException bool myExceptionHandler(Request r, Output o, Exception e)
+{
+   o.status = 500;
+   info("Oh no! An exception occurred: ", e.msg);
+   return true; // This means the exception is handled, if false, the exception is rethrown
+}
+
+ +

Enum members

+ + + + + +
NameDescription
+
+ +
+
+
+ + + +
+
+
+ + \ No newline at end of file diff --git a/docs/serverino/interfaces/Request.buildId.html b/docs/serverino/interfaces/Request.buildId.html index ea5f815..7cdc010 100644 --- a/docs/serverino/interfaces/Request.buildId.html +++ b/docs/serverino/interfaces/Request.buildId.html @@ -62,7 +62,7 @@

Enum member Request.buildId

Every time you compile the app this value   // ...
  enum buildId - = "9ad9726cd15b53dc96290b81c04147f6"; + = "ef9123aea04b193ece6a08ea8d005546";
  // ...
diff --git a/docs/serverino/interfaces/Request.html b/docs/serverino/interfaces/Request.html index 4d7e144..c17d8cd 100644 --- a/docs/serverino/interfaces/Request.html +++ b/docs/serverino/interfaces/Request.html @@ -110,6 +110,13 @@

Struct Request

A request from user. Do not store ref to this struct a host[get] const(string)The host that received the request + + + + + id[get] + + stringThe request ID. It is unique for each request. diff --git a/docs/serverino/interfaces/Request.id.html b/docs/serverino/interfaces/Request.id.html new file mode 100644 index 0000000..3ccff56 --- /dev/null +++ b/docs/serverino/interfaces/Request.id.html @@ -0,0 +1,72 @@ + + + + + + Function Request.id + + + + +

+ +
+
+

Function Request.id

The request ID. It is unique for each request. +

+
+ +
+ string id() @property @safe const; +
+
+
+ + +
+
+
+ + + +
+
+
+ + \ No newline at end of file diff --git a/docs/sitemap.xml b/docs/sitemap.xml index a545de4..0befe35 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -3,12 +3,14 @@ http://127.0.0.1/index.html http://127.0.0.1/serverino/config.html http://127.0.0.1/serverino/config/endpoint.html +http://127.0.0.1/serverino/config/Fallthrough.html http://127.0.0.1/serverino/config/onDaemonStart.html http://127.0.0.1/serverino/config/onDaemonStop.html http://127.0.0.1/serverino/config/onServerInit.html http://127.0.0.1/serverino/config/onWebSocketStart.html http://127.0.0.1/serverino/config/onWebSocketStop.html http://127.0.0.1/serverino/config/onWebSocketUpgrade.html +http://127.0.0.1/serverino/config/onWorkerException.html http://127.0.0.1/serverino/config/onWorkerStart.html http://127.0.0.1/serverino/config/onWorkerStop.html http://127.0.0.1/serverino/config/priority.html @@ -80,6 +82,7 @@ http://127.0.0.1/serverino/interfaces/Request.get.html http://127.0.0.1/serverino/interfaces/Request.header.html http://127.0.0.1/serverino/interfaces/Request.host.html +http://127.0.0.1/serverino/interfaces/Request.id.html http://127.0.0.1/serverino/interfaces/Request.Method.html http://127.0.0.1/serverino/interfaces/Request.method.html http://127.0.0.1/serverino/interfaces/Request.password.html diff --git a/docs/symbols.js b/docs/symbols.js index 985892b..8eba8a9 100644 --- a/docs/symbols.js +++ b/docs/symbols.js @@ -2,12 +2,16 @@ var symbols = [ {name: 'serverino.config', kind: "module", path: './serverino/config.html', attributes: []}, {name: 'serverino.config.endpoint', kind: "enumdeclaration", path: './serverino/config/endpoint.html', attributes: []}, +{name: 'serverino.config.Fallthrough', kind: "enumdeclaration", path: './serverino/config/Fallthrough.html', attributes: []}, +{name: 'serverino.config.Fallthrough.No', kind: "enummemberdeclaration", path: './serverino/config/Fallthrough.html#No', attributes: []}, +{name: 'serverino.config.Fallthrough.Yes', kind: "enummemberdeclaration", path: './serverino/config/Fallthrough.html#Yes', attributes: []}, {name: 'serverino.config.onDaemonStart', kind: "enumdeclaration", path: './serverino/config/onDaemonStart.html', attributes: []}, {name: 'serverino.config.onDaemonStop', kind: "enumdeclaration", path: './serverino/config/onDaemonStop.html', attributes: []}, {name: 'serverino.config.onServerInit', kind: "enumdeclaration", path: './serverino/config/onServerInit.html', attributes: []}, {name: 'serverino.config.onWebSocketStart', kind: "enumdeclaration", path: './serverino/config/onWebSocketStart.html', attributes: []}, {name: 'serverino.config.onWebSocketStop', kind: "enumdeclaration", path: './serverino/config/onWebSocketStop.html', attributes: []}, {name: 'serverino.config.onWebSocketUpgrade', kind: "enumdeclaration", path: './serverino/config/onWebSocketUpgrade.html', attributes: []}, +{name: 'serverino.config.onWorkerException', kind: "enumdeclaration", path: './serverino/config/onWorkerException.html', attributes: []}, {name: 'serverino.config.onWorkerStart', kind: "enumdeclaration", path: './serverino/config/onWorkerStart.html', attributes: []}, {name: 'serverino.config.onWorkerStop', kind: "enumdeclaration", path: './serverino/config/onWorkerStop.html', attributes: []}, {name: 'serverino.config.priority', kind: "structdeclaration", path: './serverino/config/priority.html', attributes: []}, @@ -82,6 +86,7 @@ var symbols = [ {name: 'serverino.interfaces.Request.get', kind: "functiondeclaration", path: './serverino/interfaces/Request.get.html', attributes: ["auto", "pure", "nothrow", "property", "nogc", "safe", "const"]}, {name: 'serverino.interfaces.Request.header', kind: "functiondeclaration", path: './serverino/interfaces/Request.header.html', attributes: ["auto", "pure", "nothrow", "property", "nogc", "safe", "const"]}, {name: 'serverino.interfaces.Request.host', kind: "functiondeclaration", path: './serverino/interfaces/Request.host.html', attributes: ["auto", "pure", "nothrow", "property", "nogc", "safe", "const"]}, +{name: 'serverino.interfaces.Request.id', kind: "functiondeclaration", path: './serverino/interfaces/Request.id.html', attributes: ["auto", "property", "safe", "const"]}, {name: 'serverino.interfaces.Request.Method', kind: "enumdeclaration", path: './serverino/interfaces/Request.Method.html', attributes: []}, {name: 'serverino.interfaces.Request.Method.Connect', kind: "enummemberdeclaration", path: './serverino/interfaces/Request.Method.html#Connect', attributes: []}, {name: 'serverino.interfaces.Request.Method.Delete', kind: "enummemberdeclaration", path: './serverino/interfaces/Request.Method.html#Delete', attributes: []}, diff --git a/source/serverino/config.d b/source/serverino/config.d index a27be54..af60592 100644 --- a/source/serverino/config.d +++ b/source/serverino/config.d @@ -32,10 +32,25 @@ import std.stdio : File; import std.datetime : Duration, seconds, hours, msecs; import std.traits : ReturnType; +/++ Used as optional return type for functions with `@endpoint`` UDA attached. + It is used to override the default behavior of serverino: if an endpoint returns Fallthrough.Yes, the next endpoint is called even if the current one has written to the output. + --- + // Doing a request to the server will return "Hello world!" + + // Will continue with the next function + @endpoint @priority(3) auto test_1(Request r, Output o) { output ~= "Hello"; return Fallthrough.Yes; } + + // This blocks the chain (default behavior when output is written) + @endpoint @priority(2) auto test_2(Request r, Output o) { output ~= " world!"; } + + // Never executed (blocked by test_2) + @endpoint @priority(1) auto test_3(Request r, Output o) { output ~= "Not executed!"; } + --- + +/ public enum Fallthrough : bool { - Yes = true, - No = false + Yes = true, /// Continue with the next function + No = false /// Stop the chain } public struct priority { long priority; } /// UDA. Set @endpoint priority @@ -45,12 +60,23 @@ public enum onDaemonStart; /// UDA. Called when daemon start. Running in m public enum onDaemonStop; /// UDA. Called when daemon exit. Running in main thread, not in worker. public enum onWorkerStart; /// UDA. Functions with @onWorkerStart attached are called when worker is started public enum onWorkerStop; /// UDA. Functions with @onWorkerStop attached are called when worker is stopped -public enum onWorkerException; /// UDA. Functions with @onWorkerException attached are called when worker throws an exception public enum onServerInit; /// UDA. Used to setup serverino. Must return a ServerinoConfig struct. See `ServerinoConfig` struct. public enum onWebSocketUpgrade; /// UDA. Functions with @onWebSocketUpgrade attached are called when a websocket upgrade is requested public enum onWebSocketStart; /// UDA. Functions with @onWebSocketStart attached are called when a websocket is started public enum onWebSocketStop; /// UDA. Functions with @onWebSocketStop attached are called when a websocket is stopped +/++ UDA. Functions with @onWorkerException attached are called when worker throws an exception + --- + @onWorkerException bool myExceptionHandler(Request r, Output o, Exception e) + { + o.status = 500; + info("Oh no! An exception occurred: ", e.msg); + return true; // This means the exception is handled, if false, the exception is rethrown + } + --- +++/ +public enum onWorkerException; + import serverino.interfaces : Request; /++ UDA. You can use to filter requests using a function `bool(Request request) { }`