public Task <T> PostAsync <T>(IRestRequest postRequest, CancellationToken cancellationToken) { SFRestRequest sfRequest = (SFRestRequest)postRequest; if (sfRequest.jsonBody is AuthnRequest) { AuthnResponse authnResponse = new AuthnResponse { data = new AuthnResponseData() { token = "session_token", masterToken = "master_token", authResponseSessionInfo = new SessionInfo(), nameValueParameter = new List <NameValueParameter>() }, success = true }; // login request return success return(Task.FromResult <T>((T)(object)authnResponse)); } CloseResponse closeResponse = new CloseResponse { message = "Session no longer exists. New login required to access the service.", data = null, code = SESSION_GONE, success = false }; return(Task.FromResult <T>((T)(object)closeResponse)); }
public Task <T> GetAsync <T>(IRestRequest request, CancellationToken cancellationToken) { SFRestRequest sfRequest = (SFRestRequest)request; if (getResultCallCount == 0) { getResultCallCount++; QueryExecResponse queryExecResponse = new QueryExecResponse { success = false, code = QUERY_IN_EXEC_CODE }; return(Task.FromResult <T>((T)(object)queryExecResponse)); } else if (getResultCallCount == 1) { getResultCallCount++; QueryExecResponse queryExecResponse = new QueryExecResponse { success = false, code = SESSION_EXPIRED_CODE }; return(Task.FromResult <T>((T)(object)queryExecResponse)); } else if (getResultCallCount == 2 && sfRequest.authorizationToken.Equals("Snowflake Token=\"new_session_token\"")) { getResultCallCount++; QueryExecResponse queryExecResponse = new QueryExecResponse { success = true, data = new QueryExecResponseData { rowSet = new string[, ] { { "1" } }, rowType = new List <ExecResponseRowType>() { new ExecResponseRowType { name = "colone", type = "FIXED" } }, parameters = new List <NameValueParameter>() } }; return(Task.FromResult <T>((T)(object)queryExecResponse)); } else { QueryExecResponse queryExecResponse = new QueryExecResponse { success = false, code = 1 }; return(Task.FromResult <T>((T)(object)queryExecResponse)); } }
public Task <T> PostAsync <T>(IRestRequest request, CancellationToken cancellationToken) { SFRestRequest sfRequest = (SFRestRequest)request; if (sfRequest.jsonBody is AuthnRequest) { AuthnResponse authnResponse = new AuthnResponse { data = new AuthnResponseData() { token = "session_token", masterToken = "master_token", authResponseSessionInfo = new SessionInfo(), nameValueParameter = new List <NameValueParameter>() }, success = true }; // login request return success return(Task.FromResult <T>((T)(object)authnResponse)); } else if (sfRequest.jsonBody is QueryRequest) { QueryExecResponse queryExecResponse = new QueryExecResponse { success = false, code = QUERY_IN_EXEC_CODE }; return(Task.FromResult <T>((T)(object)queryExecResponse)); } else if (sfRequest.jsonBody is RenewSessionRequest) { return(Task.FromResult <T>((T)(object)new RenewSessionResponse { success = true, data = new RenewSessionResponseData() { sessionToken = "new_session_token" } })); } else { return(Task.FromResult <T>((T)(object)null)); } }
public T Get <T>(SFRestRequest request) { return(Task.Run(async() => await GetAsync <T>(request, CancellationToken.None)).Result); }
public T Post <T>(SFRestRequest postRequest) { return(Task.Run(async() => await PostAsync <T>(postRequest, CancellationToken.None)).Result); }
public Task <T> PostAsync <T>(IRestRequest request, CancellationToken cancellationToken) { SFRestRequest sfRequest = (SFRestRequest)request; if (sfRequest.jsonBody is LoginRequest) { LoginResponse authnResponse = new LoginResponse { data = new LoginResponseData() { token = EXPIRED_SESSION_TOKEN, masterToken = "master_token", authResponseSessionInfo = new SessionInfo(), nameValueParameter = new List <NameValueParameter>() }, success = true }; // login request return success return(Task.FromResult <T>((T)(object)authnResponse)); } else if (sfRequest.jsonBody is QueryRequest) { if (sfRequest.authorizationToken.Equals(String.Format(TOKEN_FMT, EXPIRED_SESSION_TOKEN))) { FirstTimeRequestID = ExtractRequestID(sfRequest.Url.Query); QueryExecResponse queryExecResponse = new QueryExecResponse { success = false, code = SESSION_EXPIRED_CODE }; return(Task.FromResult <T>((T)(object)queryExecResponse)); } else if (sfRequest.authorizationToken.Equals(String.Format(TOKEN_FMT, "new_session_token"))) { SecondTimeRequestID = ExtractRequestID(sfRequest.Url.Query); QueryExecResponse queryExecResponse = new QueryExecResponse { success = true, data = new QueryExecResponseData { rowSet = new string[, ] { { "1" } }, rowType = new List <ExecResponseRowType>() { new ExecResponseRowType { name = "colone", type = "FIXED" } }, parameters = new List <NameValueParameter>() } }; return(Task.FromResult <T>((T)(object)queryExecResponse)); } else { QueryExecResponse queryExecResponse = new QueryExecResponse { success = false, code = 1 }; return(Task.FromResult <T>((T)(object)queryExecResponse)); } } else if (sfRequest.jsonBody is RenewSessionRequest) { return(Task.FromResult <T>((T)(object)new RenewSessionResponse { success = true, data = new RenewSessionResponseData() { sessionToken = "new_session_token", masterToken = "new_master_token" } })); } else { return(Task.FromResult <T>((T)(object)null)); } }
public Task <T> PostAsync <T>(IRestRequest request, CancellationToken cancellationToken) { var message = request.ToRequestMessage(HttpMethod.Post); var param = new NameValueParameter { name = "SERVICE_NAME" }; if (!message.Headers.Contains("X-Snowflake-Service")) { param.value = INIT_SERVICE_NAME; } else { IEnumerable <string> headerValues = message.Headers.GetValues("X-Snowflake-Service"); foreach (string value in headerValues) { param.value = value + 'a'; } } SFRestRequest sfRequest = (SFRestRequest)request; if (sfRequest.jsonBody is AuthnRequest) { AuthnResponse authnResponse = new AuthnResponse { data = new AuthnResponseData() { token = "session_token", masterToken = "master_token", authResponseSessionInfo = new SessionInfo(), nameValueParameter = new List <NameValueParameter>() { param } }, success = true }; // login request return success return(Task.FromResult <T>((T)(object)authnResponse)); } else if (sfRequest.jsonBody is QueryRequest) { QueryExecResponse queryExecResponse = new QueryExecResponse { success = true, data = new QueryExecResponseData { rowSet = new string[, ] { { "1" } }, rowType = new List <ExecResponseRowType>() { new ExecResponseRowType { name = "colone", type = "FIXED" } }, parameters = new List <NameValueParameter> { param } } }; return(Task.FromResult <T>((T)(object)queryExecResponse)); } else { return(Task.FromResult <T>((T)(object)null)); } }
public Task <T> GetAsync <T>(SFRestRequest request, CancellationToken cancellationToken) { return(Task.FromResult <T>((T)(object)null)); }