মসৃণ ফোস্কা পদ্ধতি ভিউটি শোভাকর

আমি একটি শোভাকর নেভিগেশন কাজ করছি যে একটি api টোকেন বৈধতা, আমার প্রথম কিছু কম অর্ডার অর্ডার মধ্যে সজ্জাকে পেতে হচ্ছে:

def check_token(view_method):
    @wraps(view_method)
    def wrapped_view(*args, **kwargs):
        token = request.args['token']
        if token is None:
            abort(403)
        return view_method(*args, **kwargs)
    return wrapped_view

এই ধরণের কাজগুলি, যেমন টোকেন প্রদান করা হলে দৃশ্যটি কাজ করে, কিন্তু যদি 400 টি খারাপ অনুরোধের ত্রুটি না দেয় আমি 403 টি ত্রুটি পাঠাতে চাই, কিন্তু এখনও এটি ধরতে যথেষ্ট সচেতন নই।

এই কি ভুল যে এটি শুধুমাত্র একটি 400 ত্রুটি ফিরে? আমি কিভাবে এটি উন্নত করবেন?

0
আমি মনে করি এই সময়ে আমি জানি না কি, চেষ্টা করে দেখুন।
যোগ লেখক blueblank, উৎস
যে কাজ করে, তাই আমি যদি আপনি নীচের একটি উত্তর ছিল এটি চেক চিহ্ন চাই। অনুরোধ একটি Werkzeug মাল্টিডিক্ট, এবং যে আমার সাধারণ এবং যে Python আমার বোঝার সংশোধন করতে হবে, ধন্যবাদ।
যোগ লেখক blueblank, উৎস
সম্ভবত কারণ টোকেন = অনুরোধ .args ['টোকন'] </কোড> নিজেই KeyError বিবরন (403) এ পৌঁছানোর আগে নিক্ষেপ করছে?
যোগ লেখক Vikas, উৎস
আমি বলতে চাচ্ছি সেখানে কোন কী <�কোড> টোকেন </কোড> request.args তে নেই। চেষ্টা করুন .args.get ('টোকেন', কেউ নয়) এর পরিবর্তে এবং দেখুন যে এটি কাজ করে।
যোগ লেখক Vikas, উৎস
উত্তর: -) ...
যোগ লেখক Vikas, উৎস

1 উত্তর

request.args is a MultiDict and it raises if a key is requested which is not there in dict. Here request.args['token'] raises before it reaches to abort(403). Few solutions are:

## If a 2nd optional argument is provided to dict.get then
## it does not raise if key is not found. Instead returns
## the 2nd argument passed as default.

token = request.args.get('token', None)
    if not token:
        ## Error handling

বা:

if 'token' not in request.args or not request.args['token']
    ## Error handling
0
যোগ