🌐Service
All services are contained at rsc/services/*.lua
I also recommend to check promise documentation since services heavily use promises
RSC.RECOMMENDED_SERVICE
RSC.RECOMMENDED_SERVICE = "gmod.express"Constant that have name of recommended service. Used as fallback in CaptureRequest if specified service wans't found.
RSC.Service.New(...)
Service RSC.Service.New( name: str )Creates new Service object
local service = RSC.Service.New("my_service")
-- Change service functions here
function service:Upload(data, quality, preparedata)
-- ...
end
service.Upload = promise.Async(service.Upload)
-- And register service
service:Register() -- After this we can get service by calling RSC.Service.Get("my_service")RSC.Service.Get(...)
Returns registered service by name if it is exists
:GetName()
Returns service name specified in RSC.Service.New.
You shouldn't overwrite this function.
:GetDownloadURL(...)
This functions must return url to download uploaded image. data is given by Service:Upload(...) and prepareData is given by Service:Prepare(...)
:Ping()
This function checks if service available at current moment.
:Prepare()
This function called on serverside before initiating capture process on victim's side. Must return string that contains prepare data for upload and download functions. If prepare data isn't needed, then just return Promise<nil> or don't overwrite this function.
:Upload(...)
This function must upload imageData. quality argument can be parsed with RSC.ParseQuality. prepareData argument given by Service:Prepare
This function must be implemented
:Download(...)
This function must download image. Argument uploadData given by Service:Upload. quality argument can be parsed with RSC.ParseQuality. prepareData argument given by Service:Prepare
This function must be implemented
:Register()
Registers your service by the name you specified in RSC.Service.New. Registered service can accessed by RSC.Service.Get or directly by accessing RSC.Service.Services[name].
You shouldn't overwrite this function
Last updated