Comments (7)
It had occurred to me, but I thought it would make more sense for a higher level library like Rook or Sinartra to handle this kind of stuff. If you want to extract it into a new package, feel free (it'd have to be GPLv3 though, if you want a different license we'd have to discuss it).
Also I'm not that fond of our middleware.R; the API wasn't designed with a lot of care or thought, I just threw it together. If I was making something for reuse, I'd do it differently. But if you find it useful, by all means, go ahead and use it...
from httpuv.
Makes sense. Thanks for the help!
from httpuv.
@jcheng5 - I have begun to write a new package for a more general web server abstraction in R - Currently at a very early stage at thomasp85/fiery. Would you be willing to discuss some of your experiences and how you would redo the middleware code?
from httpuv.
The middleware stuff is really low level, like Rack, Servlet API, or WSGI level. I would make a layer on top that's opinionated and user-focused, and has built-in support for routing, REST idioms, and parameter matching--not just implemented as decorators.
I'd also rethink the API for request/response objects. As they are now they're just following the Rook specification and one could imagine a nicer API for manipulating them.
from httpuv.
Thanks for responding @jcheng5. The whole point of my project is exactly to create a user-focused layer that abstracts all this away. It is a pass-time project though, and my experience with creating server frameworks is low atm. Would you be interested in commenting on ideas and implementations from time to time so some of your experiences will get incorporated?
from httpuv.
@thomasp85 While I'd certainly be willing to weigh in, I'd advise you to set your expectations pretty low--I'm stretched a little thin these days and it can be hard for me to find time to provide answers to questions not directly related to the projects I'm working on. Definitely feel free to ask away though!
from httpuv.
@jcheng5 Thats all I was expecting/hoping - thanks
from httpuv.
Related Issues (20)
- automake: Perl lib version (5.28.2) doesn't match executable HOT 1
- OS signals may be received by background thread HOT 1
- Error while installing the library from source due to RcppExports HOT 1
- Installation failure with R 4.2.0 HOT 2
- GPL license
- Antivirus new install HOT 4
- staticPath logging HOT 1
- HTTP/2 support HOT 2
- Random crashes on MacOS HOT 16
- Unable to install httput - R 4.2.2 HOT 3
- Warning with clang 16 HOT 2
- Possible to use multiple worker threads? HOT 2
- Unable to install httpuv - R 3.5.3 HOT 2
- macOS: Assertion fails when closing `{httpuv}` server HOT 2
- CRAN firedrill 2023-05 HOT 4
- clang-ASAN: "runtime error: applying zero offset to null pointer"
- httpuv v1.6.11 release checklist HOT 1
- httpuv 1.6.10 crashes with "uv__finish_close: Assertion `handle->flags & UV_HANDLE_CLOSING' failed" HOT 4
- Don't dynamically link to libuv on macOS
- CI workflows for sanitizers HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from httpuv.