public override HTTPDeleteRequestModel Delete(HTTPDeleteRequestModel request)
        {
            try
            {
                FloorballRESTClient client = new FloorballRESTClient(ServerURL);

                RestResponse response = client.ExecuteRequest(request.Url, Method.DELETE, request.UrlParams, null, null, request.Headers) as RestResponse;

                CheckError(response, request.ErrorMsg);

                return(request);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public override T Get <T>(HTTPGetRequestModel request)
        {
            try
            {
                FloorballRESTClient client = new FloorballRESTClient(ServerURL);

                RestResponse response = client.ExecuteRequest(request.Url, Method.GET, request.UrlParams, request.QueryParams, null, request.Headers) as RestResponse;

                CheckError(response, request.ErrorMsg);

                return(deserial.Deserialize <T>(response));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public override async Task <T2> PutAsync <T1, T2>(HTTPPutRequestModel <T1> request)
        {
            try
            {
                FloorballRESTClient client = new FloorballRESTClient(ServerURL);

                RestResponse response = await client.ExecuteRequestAsync(request.Url, Method.PUT, request.UrlParams, null, request.Body, request.Headers) as RestResponse;

                CheckError(response, request.ErrorMsg);

                return(deserial.Deserialize <T2>(response));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }