public async Task <ActionResult> UpdateChat(int id, string name, string description) { //verificar token do client object tokenValidate; if (!Request.Headers.ContainsKey(HeaderNames.Authorization) || !TokenMng.ValidateToken(Request.Headers[HeaderNames.Authorization], out tokenValidate)) { return(Unauthorized()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); // 400 bad request - solicitação invalida } try { var result = await _chat.UpdateName(id, name, description); if (result == null) { return(NotFound()); } else { return(Ok(result)); } } catch (Exception ex) { // 500 Internal error - O server encontrou um erro com o qual não consegue lidar return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message)); } }
public async Task <ActionResult> UpdateUser(string name, string email, string imagePath, string folderPath) { object tokenValidate; if (!Request.Headers.ContainsKey(HeaderNames.Authorization) || !TokenMng.ValidateToken(Request.Headers[HeaderNames.Authorization], out tokenValidate)) { return(Unauthorized()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); // 400 bad request - solicitação invalida } try { string username = string.Empty; var result = await _user.UpdateUser(name, username, email, imagePath, folderPath); if (result == null) { return(NotFound()); } else { return(Ok(result)); } } catch (Exception ex) { // 500 Internal error - O server encontrou um erro com o qual não consegue lidar return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message)); } }
public async Task <IActionResult> UploadFile(string folderPath, string newFile, IFormFile file) //ver como aceitar ficheiros { //verificar token do client object tokenValidate; if (!Request.Headers.ContainsKey(HeaderNames.Authorization) || !TokenMng.ValidateToken(Request.Headers[HeaderNames.Authorization], out tokenValidate)) { return(Unauthorized()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); // 400 bad request - solicitação invalida } try { if (file.Length > 0) { using (var stream = new MemoryStream()) { await file.CopyToAsync(stream); Ok(await _ftp.UploadFile(TokenMng.UsernameToken(Request.Headers[HeaderNames.Authorization]), folderPath, newFile, stream)); } return(BadRequest()); } return(BadRequest()); } catch (System.Exception ex) { // 500 Internal error - O server encontrou um erro com o qual não consegue lidar return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message)); } }
public async Task <object> GetByPath(string path) { //verificar token do client object tokenValidate; if (!Request.Headers.ContainsKey(HeaderNames.Authorization) || !TokenMng.ValidateToken(Request.Headers[HeaderNames.Authorization], out tokenValidate)) { return(Unauthorized()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); // 400 bad request - solicitação invalida } try { var aux = await _ftp.GetByPath(TokenMng.UsernameToken(Request.Headers[HeaderNames.Authorization]), path); if (aux == null) { return(NotFound()); } else { return(Ok(aux)); } } catch (Exception ex) { // 500 Internal error - O server encontrou um erro com o qual não consegue lidar return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message)); } }
public async Task Invoke(HttpContext context) { if (!context.WebSockets.IsWebSocketRequest) { return; } var socket = await context.WebSockets.AcceptWebSocketAsync(); await Receive(socket, async (result, buffer) => { try { var values = JsonConvert.DeserializeObject <Dictionary <string, string> >(Encoding.UTF8.GetString(buffer, 0, result.Count)); object tokenValidate; if (values != null && values.ContainsKey("token") && TokenMng.ValidateToken(values["token"], out tokenValidate)) { var username = TokenMng.UsernameToken(values["token"]); if (result.MessageType == WebSocketMessageType.Text) { if (values.ContainsKey("type") && values["type"] == "1" && values.ContainsKey("token")) { await _webSocketHandler.ReceiveAsync(username, socket, result, values); return; } else if (values.ContainsKey("type") && values["type"] == "authenticate") { await _webSocketHandler.OnConnected(username, socket, values); return; } } else if (result.MessageType == WebSocketMessageType.Close) { await _webSocketHandler.OnDisconnected(socket); return; } } else if (values != null) { } else { return; } } catch (System.Exception) { throw; } }); }
private void FillToken(HttpClient client) { client.DefaultRequestHeaders.Add("apiKey", ComponentApiKey); client.DefaultRequestHeaders.Add("salt", TokenMng.GetSalt()); client.DefaultRequestHeaders.Add("token", TokenMng.GetToken( client.DefaultRequestHeaders.GetValues("apiKey").First(), ComponentSecretKey, client.DefaultRequestHeaders.GetValues("salt").First() ) ); }
public async Task <object> ValidToken() { if (!ModelState.IsValid) { return(BadRequest()); // 400 bad request - solicitação invalida } try { //verificar token do client object tokenValidate = new { authenticate = false }; if (Request.Headers.ContainsKey(HeaderNames.Authorization)) { TokenMng.ValidateToken(Request.Headers[HeaderNames.Authorization], out tokenValidate); } return(tokenValidate); } catch (Exception ex) { // 500 Internal error - O server encontrou um erro com o qual não consegue lidar return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message)); } }
public async Task <ActionResult> DeleteUser(int id) { object tokenValidate; if (!Request.Headers.ContainsKey(HeaderNames.Authorization) || !TokenMng.ValidateToken(Request.Headers[HeaderNames.Authorization], out tokenValidate)) { return(Unauthorized()); } if (!ModelState.IsValid) { return(BadRequest(false)); // 400 bad request - solicitação invalida } try { return(Ok(await _user.RemoveUser(id))); // 50 ok - Bem conseguida } catch (Exception ex) { // 500 Internal error - O server encontrou um erro com o qual não consegue lidar return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message)); } }
public async Task <ActionResult> GetAllMessages() { //verificar token do client object tokenValidate; if (!Request.Headers.ContainsKey(HeaderNames.Authorization) || !TokenMng.ValidateToken(Request.Headers[HeaderNames.Authorization], out tokenValidate)) { return(Unauthorized()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); // 400 bad request - solicitação invalida } try { return(Ok(await _chat.GetAllMessages())); } catch (Exception ex) { // 500 Internal error - O server encontrou um erro com o qual não consegue lidar return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message)); } }
public async Task <bool> RenameFile(string path, string oldName, string newName) { //verificar token do client object tokenValidate; if (!Request.Headers.ContainsKey(HeaderNames.Authorization) || !TokenMng.ValidateToken(Request.Headers[HeaderNames.Authorization], out tokenValidate)) { return(false); } if (!ModelState.IsValid) { return(false); // 400 bad request - solicitação invalida } try { return(await _ftp.RenameFile(TokenMng.UsernameToken(Request.Headers[HeaderNames.Authorization]), path, oldName, newName)); } catch (Exception ex) { // 500 Internal error - O server encontrou um erro com o qual não consegue lidar return(false); } }
public async Task <HttpResponseMessage> DownloadFile(string fullPath) //ver como aceitar ficheiros { //verificar token do client object tokenValidate; if (!Request.Headers.ContainsKey(HeaderNames.Authorization) || !TokenMng.ValidateToken(Request.Headers[HeaderNames.Authorization], out tokenValidate)) { return(null); } if (!ModelState.IsValid) { return(null); // 400 bad request - solicitação invalida } try { Stream stream = await _ftp.DownloadFile(TokenMng.UsernameToken(Request.Headers[HeaderNames.Authorization]), fullPath); if (stream == null) { return(null); // returns a NotFoundResult with Status404NotFound response. } HttpResponseMessage httpResponseMessage = new HttpResponseMessage(HttpStatusCode.OK); httpResponseMessage.Content = new StreamContent(stream); httpResponseMessage.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment"); httpResponseMessage.Content.Headers.ContentDisposition.FileName = "video.mp4"; httpResponseMessage.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/octet-stream"); return(httpResponseMessage); } catch (Exception) { // 500 Internal error - O server encontrou um erro com o qual não consegue lidar return(null); } }