Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 6422796d

Přidáno uživatelem Stanislav Král před asi 4 roky(ů)

Re #8475 - Add a try/catch block in order to account for invalid JSON data being passed when accessing /api/certificates endpoint

Zobrazit rozdíly:

src/controllers/certificates_controller.py
1 1
import json
2 2
from datetime import datetime
3 3
from itertools import chain
4
from json import JSONDecodeError
5

  
4 6
from flask import request
5 7
from src.dao.private_key_repository import PrivateKeyRepository
6 8
from src.model.subject import Subject
......
221 223
            if request.is_json:
222 224
                data = request.get_json()                                           # get it
223 225
            else:
224
                data = {"filtering": json.loads(request.args["filtering"])}
226
                try:
227
                    data = {"filtering": json.loads(request.args["filtering"])}
228
                except JSONDecodeError:
229
                    return E_NOT_JSON_FORMAT, C_BAD_REQUEST
230

  
225 231
            if FILTERING in data:                                                   # if the 'filtering' field exists
226 232
                if isinstance(data[FILTERING], dict):                               # and it is also a 'dict'
227 233
                    if CA in data[FILTERING]:                                       # containing 'CA'

Také k dispozici: Unified diff