1 | Feature Requests
|
2 | ================
|
3 |
|
4 | While the maintainers of restify work hard to provide the best possible
|
5 | framwork for building REST services, there is more work to go around than there
|
6 | are hours in the day. This document contains a set of features that have been
|
7 | requested by the community. If you are looking to contribute, the items on
|
8 | this list -- along with the open bugs on the issues tab -- are a great place to
|
9 | start!
|
10 |
|
11 | > The features here are not sorted in any particular order. Each feature links
|
12 | > to the original GitHub issue requesting it. While feature requests are
|
13 | > generally closed and moved to this document, discussion around the feature
|
14 | > still takes place on the original issue. Even if there has been a discussion
|
15 | > on the issue already, it is still worth declaring your intent to open a PR
|
16 | > before investing time in writing code.
|
17 |
|
18 | ## Code
|
19 |
|
20 | * [Support `server.use(route, handler)` and `server.all`][289]
|
21 | * [Support asynchronous callbacks for throttle][381]
|
22 | * [Streaming multipart parser without needing temporary files][474]
|
23 | * [Default client to http protocol][790]
|
24 | * [Exponential backoff and retry][633]
|
25 | * [Arbitrary HTTP methods][576]
|
26 | * [Detect route conflicts][909]
|
27 | * [Improve upon `next.ifError`][875]
|
28 | * [Benchmark suite][860]
|
29 | * [HTTP/2 support][853]
|
30 | * [Improve performance of route lookup][850]
|
31 | * [Support HTTP_PROXY][813]
|
32 | * [IE9 support for `bodyParser`][801]
|
33 | * [Multipart Client Support][921]
|
34 | * [Remove `next(err)`][1019]
|
35 | * [Support `RegExp` for `route.render`][632]
|
36 | * [Run internal handlers on `NotFound`][708]
|
37 | * [Support multiple apps on the same port][1035]
|
38 | * [Multiple versions for routes][1134]
|
39 | * [sysdig support][1323]
|
40 | * [Migrate routing DSL to `path-to-regexp`][1292]
|
41 | * [JQuery Style Query Expansion][895]
|
42 | * [Support Proxy Protocol][1046]
|
43 |
|
44 | ## Documentation
|
45 |
|
46 | * [Socket.io support][717]
|
47 | * [`uncaughtException` handler when opting into domains][829]
|
48 | * [Forward `req_id`][1101]
|
49 | * [Document `bodyParser` headers][989]
|
50 | * [Improve signRequest documentation][737]
|
51 | * [Better documentation for `client.close`][859]
|
52 | * [Document all client options][1326]
|
53 | * [Client tunneling vs. proxying][1327]
|
54 | * [Explain why Restify is great!][927]
|
55 | * [`BasicAuth` examples][1099]
|
56 | * [Document `next` behaviour][1068]
|
57 | * [Remove defaultResponseHeaders][1040]
|
58 | * [Properly document req.accepts][957]
|
59 | * [Plugin custom errors][948]
|
60 | * [`findByPath` on `Router`][1136]
|
61 | * [Multiple route handlers][1183]
|
62 | * [Update new `HttpError` codes][1206]
|
63 | * [v4 res.headers][1286]
|
64 | * [Document RegExp DSL for routing][1065]
|
65 |
|
66 | [289]: https://github.com/restify/node-restify/issues/289
|
67 | [381]: https://github.com/restify/node-restify/issues/381
|
68 | [474]: https://github.com/restify/node-restify/issues/474
|
69 | [575]: https://github.com/restify/node-restify/issues/575
|
70 | [790]: https://github.com/restify/node-restify/issues/790
|
71 | [633]: https://github.com/restify/node-restify/issues/663
|
72 | [717]: https://github.com/restify/node-restify/issues/717#issuecomment-296531086
|
73 | [576]: https://github.com/restify/node-restify/issues/576
|
74 | [576]: https://github.com/restify/node-restify/issues/576
|
75 | [909]: https://github.com/restify/node-restify/issues/909
|
76 | [875]: https://github.com/restify/node-restify/issues/875
|
77 | [860]: https://github.com/restify/node-restify/issues/860
|
78 | [853]: https://github.com/restify/node-restify/issues/853
|
79 | [850]: https://github.com/restify/node-restify/issues/850
|
80 | [829]: https://github.com/restify/node-restify/issues/829
|
81 | [813]: https://github.com/restify/node-restify/issues/813
|
82 | [801]: https://github.com/restify/node-restify/issues/801
|
83 | [921]: https://github.com/restify/node-restify/issues/921
|
84 | [1101]: https://github.com/restify/node-restify/issues/1101
|
85 | [1019]: https://github.com/restify/node-restify/issues/1019
|
86 | [989]: https://github.com/restify/node-restify/issues/989
|
87 | [632]: https://github.com/restify/node-restify/issues/632
|
88 | [708]: https://github.com/restify/node-restify/issues/708
|
89 | [737]: https://github.com/restify/node-restify/issues/737
|
90 | [859]: https://github.com/restify/node-restify/issues/859
|
91 | [1326]: https://github.com/restify/node-restify/issues/1326
|
92 | [1327]: https://github.com/restify/node-restify/issues/1327
|
93 | [927]: https://github.com/restify/node-restify/issues/927
|
94 | [1099]: https://github.com/restify/node-restify/issues/1099
|
95 | [1068]: https://github.com/restify/node-restify/issues/1068
|
96 | [1040]: https://github.com/restify/node-restify/issues/1040
|
97 | [1035]: https://github.com/restify/node-restify/issues/1035
|
98 | [957]: https://github.com/restify/node-restify/issues/957
|
99 | [948]: https://github.com/restify/node-restify/issues/948
|
100 | [1134]: https://github.com/restify/node-restify/issues/1134
|
101 | [1136]: https://github.com/restify/node-restify/issues/1136
|
102 | [1183]: https://github.com/restify/node-restify/issues/1183
|
103 | [1206]: https://github.com/restify/node-restify/issues/1206
|
104 | [1286]: https://github.com/restify/node-restify/issues/1286
|
105 | [1323]: https://github.com/restify/node-restify/issues/1323
|
106 | [1292]: https://github.com/restify/node-restify/issues/1292
|
107 | [1065]: https://github.com/restify/node-restify/pull/1065
|
108 | [895]: https://github.com/restify/node-restify/issues/895
|
109 | [1046]: https://github.com/restify/node-restify/pull/1046
|