Comments (3)
Oh and maybe one example of grabbing a logger inside an HttpHandler
would also be interesting.
from falco.
Hey Florian,
Nice to meet you officially.
I appreciate the time taken to provide all of this feedback. It's invaluable to the progress of the library.
Some of the things you bring up are things I've thought about as well for some time. But, as a dad of two young kids and a demanding job, things don't always get the attention they deserve. I like to think I do a solid job on the critical stuff, and hopefully can continue to improve on the remainder as my time continues to free up.
Now, on to your questions.
- Re: Search feature
- This is a good idea. I'll look into incorporating a Google Search widget.
- Re: Server configuration
- I recognize I'm taking for granted that the user has prior experience with ASP.NET Core. I came to F# after a decade using ASP.NET MVC with C#. Building this framework was my way of battling my "MVC fatigue". But my bias is evident, and I'll look to provide better documentation on that.
- For most server configuration, including yours about the port number, I recommend using the
appsettings.json
file which gets incorporated automatically for you. Documentation for this specifically can be found here.
- Re: Webhost initialization
- This would be more familiar if you had background in ASP.NET Core. Basically, when you stand up a web host (now web application), you can optionally pass in the command line arguments for runtime configruation.
- I have never loved the builder, which is why I have removed it in v5, in favour of a fluent builder that trues to provide a more broad working API versus a poorly designed DSL.
- Re: Barebones
HttpHandler
- Checkout the second code block, on this page.
- Re: Scripting
- I had never thought of this as a thing. What exactly is the use case?
- I don't see why having two files (App.fs, App.fsproj) and invoking with
dotnet run
is limiting?
- Re: CORS
- Adding middleware that isn't contained in the DSL is best done using the
add_middleware
function and the extension method(s) found inMicrosoft.AspNetCore.Builder
. - I don't plan to offer these shortcuts in the future, they are a maintenance nightmare.
- Adding middleware that isn't contained in the DSL is best done using the
- Re: FSDOC
- It's on my radar, mostly a time thing.
- Re: Examples
- Better examples (after 4 years you learn a few things haha!) are coming with v5.
Thanks again for your time and interest. Really appreciate it.
from falco.
Hi Pim,
Thanks for your response to this post! I was hesitant to post it due to its detailed criticisms.
I understand time constraints might be an issue for you with this project. Life happens, and I completely understand. I'm not expecting any immediate actions; I'm simply curious about a few things.
Have you considered building a community around Falco, such as finding co-maintainers to help the project grow beyond your efforts? More contributors can be beneficial in the long term.
Regarding my interest, I'm looking for an excellent framework to build web servers in F# and see potential in Falco. The documentation is impressive, and such developer-first experiences are what F# needs more of.
Re: Search feature
fsdocs
includes this feature. I might put together a small PR to demonstrate some capabilities.
Re: Server configuration, appsettings.json file
It's disappointing that an additional file is needed just to change the port. I understand this is more related to ASP.NET Core, but in a simple Node.JS project, everything could fit in a single file. That's the appeal of the scripting approach when all requirements fit into one file.
Re: Scripting
Sometimes, I need a quick, temporary web server. I'm not aiming for production or longevity, which is why Suave is appealing—it fits into a script file for fast iteration. You might suggest dotnet watch
, but scripting is still quicker.
Re: CORS
Understood. I appreciated finding the exact documentation snippet I needed.
Re: Examples
I always appreciate a "recipes" page for quick learning.
Lastly, why is there an empty array in webHost
?
Keep up the great work, Pim!
from falco.
Related Issues (20)
- Enable the `Discussions` page HOT 1
- MapJson doesn't work HOT 2
- Recommendation for a basic Dockerfile to build Falco - deploy on Fly HOT 3
- [Question] Response.debugRequest is not defined HOT 2
- dead link HOT 6
- Typo HOT 3
- Question: XSS vs CSRF HOT 1
- Falco 4 handler not responding correctly. HOT 3
- Docs: re-direct examples out of date HOT 2
- Docs: minor error in Falco.Markup docs
- Docs: minor error with Routing HOT 3
- Request: Update Tags/Releases feature for repository HOT 4
- falcoframework.com is down HOT 1
- Add CORS support to HostBuilder HOT 2
- Suggestion: Ability to use dotnet development User secrets HOT 5
- Make Falco.Markup optional / pluggable / replacable HOT 3
- How to support route group? HOT 1
- Testing API over http
- use_service documentation seems wrong 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 falco.