예제 #1
0
        private void ProcessGetFileUrl(Dictionary <string, object> externalQueryParam, PNCallback <PNFileUrlResult> callback)
        {
            IUrlRequestBuilder urlBuilder = new UrlRequestBuilder(config, jsonLibrary, unit, pubnubLog, pubnubTelemetryMgr, (PubnubInstance != null) ? PubnubInstance.InstanceId : "");

            Uri request = urlBuilder.BuildGetFileUrlOrDeleteReqest("GET", "", this.channelName, this.currentFileId, this.currentFileName, externalQueryParam, PNOperationType.PNFileUrlOperation);

            PNFileUrlResult result = new PNFileUrlResult();

            result.Url = request.ToString();

            PNStatus status = new PNStatus {
                Error = false, StatusCode = 200
            };

            callback.OnResponse(result, status);
        }
예제 #2
0
        private async Task <PNResult <PNFileUrlResult> > ProcessGetFileUrl(Dictionary <string, object> externalQueryParam)
        {
            PNResult <PNFileUrlResult> ret = new PNResult <PNFileUrlResult>();

            if (string.IsNullOrEmpty(this.currentFileId))
            {
                PNStatus errStatus = new PNStatus {
                    Error = true, ErrorData = new PNErrorData("Missing File Id", new ArgumentException("Missing File Id"))
                };
                ret.Status = errStatus;
                return(ret);
            }

            if (string.IsNullOrEmpty(this.currentFileName))
            {
                PNStatus errStatus = new PNStatus {
                    Error = true, ErrorData = new PNErrorData("Invalid file name", new ArgumentException("Invalid file name"))
                };
                ret.Status = errStatus;
                return(ret);
            }

            IUrlRequestBuilder urlBuilder = new UrlRequestBuilder(config, jsonLibrary, unit, pubnubLog, pubnubTelemetryMgr, (PubnubInstance != null) ? PubnubInstance.InstanceId : "");

            Uri request = urlBuilder.BuildGetFileUrlOrDeleteReqest("GET", "", this.channelName, this.currentFileId, this.currentFileName, externalQueryParam, PNOperationType.PNFileUrlOperation);

            PNFileUrlResult result = new PNFileUrlResult();

            result.Url = request.ToString();

            PNStatus status = new PNStatus {
                Error = false, StatusCode = 200
            };

            ret.Result = result;
            ret.Status = status;
            await Task.Factory.StartNew(() => { }).ConfigureAwait(false);//dummy stmt.

            return(ret);
        }