-
Notifications
You must be signed in to change notification settings - Fork 38
/
TODO
45 lines (31 loc) · 1.91 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
* theme (based on template)
* make own favicon.ico (now use opensuse ico instead)
* implement expand-conds for ssql
* sql-mapping syntax should support multi-sql code, but should deal with SQL-injection
* upload progress json feedback (need new server-core)
* SSE support, add some helper functions
* Support kqueue
* Use sendfile on static files, this may need new server-core.
* In MySQL, delete huge data in product environment will cause halt. There're two ways:
1. limit 1000 and loop
2. use store procedure
* Security stratage:
1. uri-decode should only be used in response-processing, never request-processing!
2. Any string which will be sent into DBI shouldn't be uri-decode in advanced!
* Reconsider security tokens fetching
Here's the discussion: http://wingolog.org/archives/2014/12/02/there-are-no-good-constant-time-data-structures
* Rewrite local-redirect-to for supporing controllers, and don't take use of "Location" header for it.
Just find out and call the rule handler directly.
* Ulimited categorizing. Use :categorize as shortcut. Two possible methods:
1. migrate a category table, and generate a lookup table each time before Artanis start.
It is hard to update category in runtime.
2. get category chain recursively, it should be fast in Scheme
* Add error waiter for current-task/client/server/proto, and bind them to somewhere they should not appear.
This may help developers to find out the possible bug.
* Optimize URL-remapping for better performance.
* Add server.idletimeout to shutdown a keep-alive connection when it's in idle status for the seconds specified by timeout.
This would be helpful to avoid EADDRNOTAVAIL that occurs too much.
* Support if-modified-since and if-request-match caching
* Upgrade the existing artanis.conf to newer one, but ask users for "yes" or "no"
* Support multi-subprotocol of Websocket
* Implement real non-blocking for sending regular file on Linux