mirror of
https://github.com/gogs/gogs.git
synced 2025-05-19 05:51:49 +00:00
* 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>