Okay, that all makes sense, except that not all of the content in the VCS is text (although of course most of it is). When I ask for the raw content of a png, I as a user expect to actually view a png image in my browser. I wouldn't expect to have to go to some separate URL for that.
I suppose I could call the controllers /text/ and /content/ or something, but how would I even differentiate those in the UI? That would be confusing for the user. Also, I'd have to put a /text/ link on the inventory view (the /files browser) for every file in the inventory, because I can't reliably check the MIME type of every file when I'm displaying the contents of the inventory. So there would be /text/ links for binary files, which wouldn't make sense at all.
Okay, that all makes sense, except that not all of the content in the VCS is text (although of course most of it is). When I ask for the raw content of a png, I as a user expect to actually view a png image in my browser. I wouldn't expect to have to go to some separate URL for that.
I suppose I could call the controllers /text/ and /content/ or something, but how would I even differentiate those in the UI? That would be confusing for the user. Also, I'd have to put a /text/ link on the inventory view (the /files browser) for every file in the inventory, because I can't reliably check the MIME type of every file when I'm displaying the contents of the inventory. So there would be /text/ links for binary files, which wouldn't make sense at all.