Skip to content
Snippets Groups Projects
Commit e32a4aed authored by Anton's avatar Anton
Browse files

Lab 3: use request.get_json() instead of request.form

parent 7b117989
No related branches found
No related tags found
No related merge requests found
No preview for this file type
......@@ -6,17 +6,17 @@ import secrets
import database_helper
import json
import uuid
import logging
app = Flask(__name__, static_url_path="")
app.logger.setLevel(logging.DEBUG)
active_sockets = dict()
""" Helper functions """
def hash_password(pw):
hashed_pw = sha256_crypt.encrypt(pw)
hashed_pw = sha256_crypt.hash(pw)
return hashed_pw
......@@ -89,8 +89,9 @@ def root():
@app.route("/sign-in", methods=["POST"])
def sign_in():
email = request.form["email"]
password = request.form["password"]
data = request.get_json()
email = data["email"]
password = data["password"]
if validate_user(email, password):
......@@ -120,7 +121,7 @@ def sign_in():
@app.route("/sign-up", methods=["POST"])
def sign_up():
user_data = request.form
user_data = request.get_json()
if not is_signup_form_valid(user_data):
return create_response(
success=False, message="One or more fields are incorrect"
......@@ -162,14 +163,15 @@ def change_password():
if user:
email = user[0]
hashed_pw = user[1]
if validate_password(request.form["oldPassword"], hashed_pw):
if len(request.form["newPassword"]) < 6:
data = request.get_json()
if validate_password(data["oldPassword"], hashed_pw):
data = request.get_json()
if len(data["newPassword"]) < 6:
return create_response(
success=False, message="Password must be at least 6 characters"
)
hashed_password = hash_password(request.form["newPassword"])
hashed_password = hash_password(data["newPassword"])
database_helper.set_password(email, hashed_password)
return create_response(success=True, message="Password has been changed")
......@@ -270,15 +272,16 @@ def post_message():
token = get_token()
current_user = get_user_by_token(token)
if current_user:
data = request.get_json()
sender_email = current_user[0]
receiver_email = request.form["email"]
receiver_email = data["email"]
receiver_email = receiver_email if receiver_email else sender_email
msg_id = uuid.uuid4().hex
database_helper.add_message(
msg_id=msg_id,
to_email=receiver_email,
from_email=sender_email,
message=request.form["message"],
message=data["message"],
)
return create_response(success=True, message="Message sent")
else:
......
......@@ -136,7 +136,12 @@ function postUserMessage() {
let email = document.getElementById("user-email").innerHTML.slice(7); // strip email clean
let userToken = window.localStorage.getItem("token");
let params = "&email=" + email + "&message=" + message_form.value;
let params = {
email: email,
message: message_form.value,
};
let myCallback = function (res) {
if (res.success) {
message_form.value = null;
......@@ -155,7 +160,11 @@ function postMessageToSelf() {
}
let userToken = window.localStorage.getItem("token");
let params = "&email" + "" + "&message=" + message_form.value;
let params = {
email: "",
message: message_form.value,
};
let myCallback = function (res) {
if (res.success) {
message_form.value = null;
......@@ -205,7 +214,10 @@ function handleLogin() {
}
function signIn(email, password) {
let params = "&email=" + email + "&password=" + password;
let params = {
email: email,
password: password,
};
let myCallback = function (res) {
if (res.success) {
localStorage.setItem("token", res.data);
......@@ -282,21 +294,16 @@ function handleSignUp() {
country: document.forms["signup-form"]["country"].value,
};
let params =
"firstname=" +
userData.firstname +
"&familyname=" +
userData.familyname +
"&gender=" +
userData.gender +
"&city=" +
userData.city +
"&country=" +
userData.country +
"&email=" +
userData.email +
"&password=" +
userData.password;
let params = {
firstname: userData.firstname,
familyname: userData.familyname,
gender: userData.gender,
city: userData.city,
country: userData.country,
email: userData.email,
password: userData.password,
};
let myCallback = function (res) {
if (res.success) {
......@@ -319,7 +326,11 @@ function changePassword() {
return;
}
let params = "&oldPassword=" + oldPw + "&newPassword=" + newPw;
let params = {
oldPassword: oldPw,
newPassword: newPw,
};
let myCallback = function (res) {
showModal(res.message);
};
......@@ -399,7 +410,7 @@ function connectWebSocket() {
function xmlOther(url, callback, params, token, requestType) {
let xhttp = new XMLHttpRequest();
xhttp.open(requestType, url, true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.setRequestHeader("Content-type", "application/json");
if (token) {
xhttp.setRequestHeader("Authorization", "Bearer " + token);
}
......@@ -408,5 +419,5 @@ function xmlOther(url, callback, params, token, requestType) {
callback(JSON.parse(xhttp.responseText));
}
};
xhttp.send(params);
xhttp.send(JSON.stringify(params));
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment