def validate_product_version(func):
async def decorate(request):
product = request.match_info['product']
version = request.match_info.get('version')
if product not in PRODUCTS:
return web.json_response({
'status': 404,
'message': 'Invalid product: {} not in {}'.format(product, PRODUCTS)
}, status=404)
if version and not is_valid_version(version):
return web.json_response({
'status': 404,
'message': 'Invalid version number: {}'.format(version)
}, status=404)
if version:
return await func(request, product, version)
return await func(request, product)
return decorate
评论列表
文章目录