I'm building a website and I've come across the problem of not being able to access/download some file extensions like .py, .cs. When I make a request to fetch a .cs file for example..
fetch("https://localhost:44310/userdata/texts/7/637381399366309280.cs")
.then(resp => resp.blob())
.then(blob => {
success(blob)
})
.catch((res) => alert('oh no!'));
userdata folder is a direct child of wwwroot folder. success is a function that converts blob to text. For a .txt file (which is in the same folder as the .cs file), everything works fine and I get the exact text the .txt file contains. But for a .cs file, I get markup text - the index.html of my site. Strange thing is oh no! is not alerted. I tried with some random .cs file hosted on github and it works perfectly.
Initially, I got an outright 404. When I tried opening the link (https://localhost:44310/userdata/texts/7/637381399366309280.cs) in the browser, I get the page below:

I did some research and located the applicationHost.config and removed all the filtered extensions such that it looked like this:
<requestFiltering>
<fileExtensions allowUnlisted="true" applyToWebDAV="false">
<!--empty-->
</fileExtensions>
....
</requestFiltering>
Now I don't get a 404 anymore. But success(blob) returns markup text - the index.html of my site. (I use Reactjs and I've noticed this happens when something goes wrong with the fetch.) When I try opening the url in a new tab, I don't get the requestFiltering error page anymore. Instead, the home page of the site loads.
So I'm really confused. I don't get a 404, but I don't seem to be getting the file either. Modifying the requestFiltering changed something, but it seems there's something else I need to do. Please help.