Comments (8)
Also I think will be cool to handle routes with matchPath using regex.
from marble.
@couzic but why would we need a second layer for processing outgoing requests? The end of the request lifecycle should be visible inside Effect pipeline which is then processed by the responseHandler
. If there would be some need for applying some transformations for sent data then you can simply use use
operator for composing it just before final map
.
But definitely the custom error.handlers
should have an ability to intercept 404
responses in case when no Effect will match the request.
from marble.
Can you post here some code samples for use cases?
Right now if Effect doesn't compose matchPath
operator it behaves like matchPath('*')
- it handles all requests in his group. In my opinion adding custom matcher like this can be redundant and will obfuscate the matchPath
logic. But if there are some other use cases that we are not aware of we can think about this idea.
from marble.
In Marble If we want to handle routes which has 404 status (not found that path) how we can do that ?
As I understood from source code we can't.
Also we can add some "not handled error" Observable where user can subscribe and do some work for that error.
from marble.
This thread makes me think. Currently, middlewares handle incoming requests, would it make sense to have a second group of middlewares that handle outgoing responses ? Or instead of incoming/outgoing, it could be beforeEffects/afterEffects.
It would provide easy solutions for cases like handling all 404 responses.
from marble.
@nairihar *
matching added in version 0.4.0
. You can see the latest changelog here: marblejs.gitbook.io/marble/changelog1
from marble.
@nairihar here you can find an example implementation for 404
route detection.
In the next days I will update the marblejs.com with detailed description how routing is resolved (introduced in #40).
from marble.
@JozefFlakus I agree with you, it was just a naive thought. The * solution works for me !
from marble.
Related Issues (20)
- HTTP Header with case-insensitive header names HOT 7
- 'Error: WebSocket is not open' when closing two connected ws clients simultaneously HOT 8
- Type-safe request extensions HOT 7
- RabbitMq client still a Promise on App start up HOT 6
- Error [ERR_PACKAGE_PATH_NOT_EXPORTED] when using rxjs v7 HOT 5
- fp-ts-rxjs bindings with requestValidator$ HOT 1
- Cannot find module 'rxjs/internal/scheduler/AsyncScheduler' from 'node_modules/@marblejs/core/dist/effects/effectsContext.factory.js' when running jest HOT 3
- Websocket timeout causes process to crash HOT 11
- path-to-regexp is not listed in dependencies HOT 6
- Wrong warning message about eventBus & eventBusClient binding order HOT 2
- HttpErrorEffect stop the server and result with "Cannot read property 'response' of undefined" HOT 2
- Have a way to listen to the CQRS event bus arbitrarily HOT 4
- Replace unsupported busboy version with fastify fork
- Latest fp-ts and io-ts do not work with event HOT 3
- Server side events / Server sent events HOT 2
- LoggerTag is undefined
- Add Redis Streams support for messaging
- Documentation - Not Loading HOT 1
- Type-safe for client side who use our API.
- Is there an mqtt implementation for this library? 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 marble.