Skip to content
/ portal Public

A high performance file service. It depends on a backend to serve the files.

Notifications You must be signed in to change notification settings

ysmood/portal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build

For linux x64

GOOS=linux GOARCH=amd64 go build

Protocol

Portal is a high performance frontend service. It depends on a backend to serve the files.

When an end user want to read a file from Portal, Portal will try to send a http request to FileService to get rawFile, then compute the rawFile and return the final file to end user.

             rawFile             file
FileService ----------> Portal --------> EndUser

Portal requests a file's uri to FileService. uri is the file location in the FileService.

curl -v http://127.0.0.1:7000/api/file?uri={uri}

The rawFile type can be binary or gisp.

When rawFile is binary

Portal returns the rawFile as file directly. The response format will be the same as normal static http server.

When rawFile is gisp

Portal will execute the script then return the result as file.

The response format will be like:

HTTP/1.1 200 OK
Portm-Type: Gisp

{gisp code}
HTTP/1.1 200 OK
Portm-Type: Binary

{bin}

Dev

noe -b go -w 'lib/**/*.go' -w '*.go' -- get

Changelog

v1.2

  • Remove query whitelist. All queries not begin with portal- will be ignored.

About

A high performance file service. It depends on a backend to serve the files.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages