Comments (4)
Yes, I think we should at least document how to test without opening sockets.
I don't think this is only useful for regression testing.
All you need to do is response = yourappname.warez(HTTP.Request(blah))
but the warez field is private at the mo. (The http_handler stuff doesn't do all that much, really).
I don't know what the public interface should be, opinions welcome or I'll just experiment :)
The normal way to get a string from a vector of bytes would be String(bytes)
or String(take!(bytes))
, btw. No need to wrap in an IOBuffer. Or you can copy(bytes) if you don't want it mutated.
from mux.jl.
Perhaps make Mux.App
callable?
(app::App)(req::Request)::Response = app.warez(req)
(app::App)(method, location) = app(Request(method, location))
Oh, I dislike http_handler
magic with regard to converting a Dict
to a Response
object anyway. That might be a good candidate for removal.
from mux.jl.
I talked about removing mk_response in another PR and might do that.
Making App callable is what I was thinking of doing, too, but I haven't thought it all through yet :)
I'd probably just define this if I did:
(app::App)(x) = app.warex(x)
I don't think it's our responsibility to provide easier ways of creating HTTP request objects, or if we did do that, it can be in a Mux.Request function or something?
from mux.jl.
I think mk_response
is rather specialized and could be implemented in user code if someone wanted, so yea, I support removing it as #129 mentions.
Making the definition, (app::App)(x) = app.warex(x)
seems obvious/useful.
It's not Mux
responsibility to create HTTP
request objects. There is one bit of code that checks if an object is showable
via "text/html
, setting "Content-Type" appropriately -- that might be useful to keep.
from mux.jl.
Related Issues (20)
- TagBot trigger issue HOT 6
- Add me as a collaborator? HOT 3
- Road to v1 HOT 1
- Error on first request from Firefox HOT 9
- installing Mux v0.7.4 downgrades HTTP v0.9.2 HOT 2
- is Mux.jl an appropriate home for HTTP/Revise glue? HOT 4
- No :socket key in websocket server object HOT 3
- How to combine method & route ? HOT 1
- `serve` method to integrate websockets broken
- Rest api? HOT 1
- Is there WSS option in Mux v1.0.1? HOT 1
- Precompiling hangs on latest Julia nightly HOT 1
- Feature Request: let splitpath also handle the query intelligently
- Let `response` return a `HTTP.Response` object HOT 6
- Make `http_handler` part of `defaults` and `ws_handler` part of `wdefaults` HOT 1
- WebSockets example in README is slightly broken HOT 2
- Tests broken due to HTTP.jl
- Disable AppVeyor builds
- Tag a version 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 mux.jl.