Merge pull request #5920 from tgerdes/raw_blob_api

Add api support for raw blob search
This commit is contained in:
Dmitriy Zaporozhets 2013-12-29 01:55:27 -08:00
commit a4000f5d45
3 changed files with 45 additions and 2 deletions

View file

@ -343,9 +343,9 @@ Parameters:
```
## Raw blob content
## Raw file content
Get the raw file contents for a file.
Get the raw file contents for a file by commit sha and path.
```
GET /projects/:id/repository/blobs/:sha
@ -358,6 +358,20 @@ Parameters:
+ `filepath` (required) - The path the file
## Raw blob content
Get the raw file contents for a blob by blob sha.
```
GET /projects/:id/repository/raw_blobs/:sha
```
Parameters:
+ `id` (required) - The ID of a project
+ `sha` (required) - The blob sha
## Get file archive
Get a an archive of the repository

View file

@ -177,6 +177,28 @@ module API
present blob.data
end
# Get a raw blob contents by blob sha
#
# Parameters:
# id (required) - The ID of a project
# sha (required) - The blob's sha
# Example Request:
# GET /projects/:id/repository/raw_blobs/:sha
get ":id/repository/raw_blobs/:sha" do
ref = params[:sha]
repo = user_project.repository
blob = Gitlab::Git::Blob.raw(repo, ref)
not_found! "Blob" unless blob
env['api.format'] = :txt
content_type blob.mime_type
present blob.data
end
# Get a an archive of the repository
#
# Parameters:

View file

@ -225,6 +225,13 @@ describe API::API do
end
end
describe "GET /projects/:id/repository/raw_blobs/:sha" do
it "should get the raw file contents" do
get api("/projects/#{project.id}/repository/raw_blobs/d1aff2896d99d7acc4d9780fbb716b113c45ecf7", user)
response.status.should == 200
end
end
describe "GET /projects/:id/repository/archive/:sha" do
it "should get the archive" do
get api("/projects/#{project.id}/repository/archive", user)