* support API `GET /repos/:owner/:repo/contents/:path`
This PR adds support to #5949:
`GET /repos/:owner/:repo/contents/:path`
Curl:
```bash
curl -H "Authorization: token REDACTED"
http://localhost:3000/api/v1/repos/root/testrepo/contents//master/README.md
-X GET | jq .
```
Curl Response:
```bash
{
"type": "blob",
"size": 12,
"name": "README.md",
"path": "README.md",
"sha": "70fcb456d436f08462602f26df6fb7e167e7a916",
"url": "http://localhost:3000/api/v1/repos/root/testrepo/contents/README.md",
"git_url": "70fcb456d4",
"html_url": "70fcb456d4",
"download_url": "http://localhost:3000/api/v1/root/testrepo/raw/README.md",
"_links": {
"git": "70fcb456d4",
"self": "http://localhost:3000/api/v1/repos/root/testrepo/contents/README.md",
"html": "70fcb456d4"
},
"content": "IyB0ZXN0cmVwbwoK"
}
```
* rename - path.go to contents.go
* reorder imports
Co-Authored-By: ᴜɴᴋɴᴡᴏɴ <u@gogs.io>
* rename struct to repoContents and fix field order
Co-Authored-By: ᴜɴᴋɴᴡᴏɴ <u@gogs.io>
* rename variable
Co-Authored-By: ᴜɴᴋɴᴡᴏɴ <u@gogs.io>
* rename GetPathContents to GetContents
Co-Authored-By: ᴜɴᴋɴᴡᴏɴ <u@gogs.io>
* return on server error
Co-Authored-By: ᴜɴᴋɴᴡᴏɴ <u@gogs.io>
* resolve conflicts introduced via git web ui
* make constants as method variables
* handle dir type case last
* fix func and var names
* implement suggested changes in review
* refactor smaller funcs to be part of GetContent
* fix content type check for blob after refactoring
* changes based on suggestions
* read full file, return empty json array
* don't set submoduleURL
* set server err msg to method name
* set target to be blob data for symlinks
* Update contents.go
Co-authored-by: ᴜɴᴋɴᴡᴏɴ <u@gogs.io>