Example #1
0
 private IRestRequest AddDefaultHeaders(IRestRequest rawRequest)
 {
     rawRequest.AddHeader(Backtory.GameInstanceIdString, BacktoryConfig.BacktoryGameInstanceId);
     rawRequest.AddHeader(BacktoryUser.KeyAuthorization, BacktoryUser.AuthorizationHeader());
     rawRequest.AddHeader("Accept", Backtory.ApplicationJson);
     return(rawRequest);
 }
        private IRestRequest SendEventRequest(BacktoryGameEvent backtoryGameEvent)
        {
            var request = Backtory.RestRequest("game/events", Method.POST);

            request.AddHeader(Backtory.GameInstanceIdString, BacktoryConfig.BacktoryGameInstanceId);
            request.AddHeader(BacktoryUser.KeyAuthorization, BacktoryUser.AuthorizationHeader());
            request.AddHeader("Accept", Backtory.ApplicationJson);
            request.AddJsonBody(backtoryGameEvent);

            return(request);
        }
Example #3
0
        // all methods could be static but we get a threading exception from PlayerPrefs

        /* GetString can only be called from the main thread.
         * Constructors and field initializers will be executed from the loading thread when loading a scene.
         * Don't use this function in the constructor or field initializers, instead move initialization code to the Awake or Start function. */

        private IRestRequest CloudCodeRequest(string functionName, object requestBody, Type responseType)
        {
            var request = Backtory.RestRequest("cloud-code/{cloud_instance_id}/{function_name}", Method.POST);

            request.Timeout = 20 * 1000; // 20 seconds
            request.AddParameter("cloud_instance_id", BacktoryConfig.BacktoryCloudcodeInstanceId, ParameterType.UrlSegment);
            request.AddParameter("function_name", functionName, ParameterType.UrlSegment);
            request.AddHeader(BacktoryUser.KeyAuthorization, BacktoryUser.AuthorizationHeader());

            if (requestBody.GetType() != typeof(string))
            {
                request.AddJsonBody(requestBody);
                request.OnBeforeDeserialization = irestresponse => irestresponse.ContentType = Backtory.ApplicationJson;
            }
            else
            {
                request.AddParameter(Backtory.TextPlain, requestBody, ParameterType.RequestBody);
                request.OnBeforeDeserialization = irestresponse => irestresponse.ContentType = Backtory.TextPlain;
            }
            return(request);
        }