Comments (12)
Friend, you can close this issue. It's OK, and thank you very much! 👍
from brookframework.
The same procedure HandleUnknownEncoding
is repeated in all routers with exactly the same source code. Maybe we should move out this functionality in some common helper function?
It will be something like
procedure TBrookHTTPConnectionRequest.HandleUnknownEncoding(const AContentType: string;
AStream: TStream);
begin
HandleUnknownEncodingHelper(Self, AContentType, AStream);
end;
What do you think?
from brookframework.
You can create it and send to the working branch, so we can test it.
ps. I'm testing all your changes in router. ;)
from brookframework.
What file should we place this new function? Create a new broker-helper unit, or somewhere in the 'core'?
from brookframework.
You can create a new unit called as BrookHTTPDefsBroker or other better name, and paste all your shared broker functions there.
from brookframework.
Ok! I think Page404 and Page500 handlers also could be moved there.
from brookframework.
Very nice!
from brookframework.
You're working on it? After we close this issue, I'll do a merge to master. 👍
from brookframework.
I'm stuck with inheritance problem. Trying to find a solution.
from brookframework.
Tell me about it. :)
from brookframework.
We need to override virtual method HandleUnknownEncoding()
But all three our brokers inherits from different childs of TRequest
:
HTTPApp Broker: TFPHTTPConnectionRequest
CGI Broker: TCGIRequest
FastCGI Broker: TFCGIRequest
We can't make common child TBrookRequest
and override HandleUnknownEncoding()
method here, because each application needs its own parent class.
So I moved functionality to external functions, and forced to pass original object as argument. Not very nice solution, I'm not sure it is better than was before.
from brookframework.
Yeah, that's why I implemented separately. :)
Another detail, might happen a broker to need a specific change. But this is not the case, we keep as you already did, with functions.
Your code it's great, I made just a simple cleaning. Thank you very much! (now you can close this issue 👍 )
from brookframework.
Related Issues (20)
- Why plugins projects on github to brookframework is closing? HOT 4
- Telegram plugin for brookframework HOT 15
- i18n HOT 4
- Version 4 ? HOT 14
- libbrook.pas in Source HOT 3
- tardigrade demos throwing errors in libbrook HOT 4
- Server requirements? HOT 4
- dopf & LastInsertID HOT 4
- httprouter.lpr throwing error HOT 2
- How am I supposed to free worker thread in brook daemon? HOT 9
- Use legacy application with tardigrade HOT 19
- CPU Activity is high for tardigrade projects BROOK4 HOT 4
- More documentation HOT 1
- Can't get POST request data HOT 13
- Brookframework with sagui (legacy) HOT 11
- HTTP Client HOT 1
- Where did the captcha plugin for 4.0 go? HOT 1
- Some suggestion about JTemplate? HOT 3
- [IDEA] New repository HOT 1
- EBrookHTTPServer: Failed to send data in request for HOT 2
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 brookframework.