python类headers()的实例源码

app.py 文件源码 项目:corpus-to-graph-ml 作者: CatalystCode 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def score():
    if request.headers['Content-Type'] != 'application/json':
        resp = Response('Unssuported content type, expected application/json', status=500);
        return resp
    if (not request.json.has_key('text')):
        resp = Response('Bad request: missing "text" field in JSON body', status=500);
        return resp
    if (not request.json.has_key('entities')):
        resp = Response('Bad request: missing "entities" field in JSON body', status=500);
        return resp

    text = request.json['text']
    entities = request.json['entities']
    try:
        scorerResult = scorer.evaluate_score(text, entities)
        resp = jsonify(scorer_result_to_response_format(scorerResult))
        resp.status_code = 200
        return resp
    except Exception as e:
        resp = Response("Internal Server Error: %s"%e, status = 500)
        return resp
app.py 文件源码 项目:corpus-to-graph-ml 作者: CatalystCode 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def update_model():
    if request.headers['Content-Type'] != 'application/json':
        resp = Response('Unssuported content type, expected application/json', status=500);
        return resp
    if (not request.json.has_key('path')):
        resp = Response('Bad request: missing "path" field in JSON body', status=500);
        return resp

    path = request.json['path']
    try:
        scorer.load_model_from_url(path)
        resp = Response("", status=200);
        return resp
    except Exception as e:
        resp = Response("Internal Server Error: %s"%e, status = 500)
        return resp
decorator.py 文件源码 项目:two1-python 作者: 21dotco 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def contains_payment(self, price, request_headers, **kwargs):
        """Validate the payment information received in the request headers.

        Args:
            price (int): The price the user must pay for the resource.
            request_headers (dict): Headers sent by client with their request.
            keyword args: Any other headers needed to verify payment.
        Returns:
            (bool): True if payment is valid,
                False if no payment attached (402 initiation).
        Raises:
            BadRequest: If request is malformed.

        """
        for method in self.allowed_methods:
            if method.should_redeem(request_headers):
                try:
                    return method.redeem_payment(price, request_headers, **kwargs)
                except PaymentError as e:
                    raise BadRequest(str(e))
                except Exception as e:
                    raise BadRequest(repr(e))
        return False
api.py 文件源码 项目:sql_lambda 作者: richiverse 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def view_sql(backend):
    """View data from database.

    By default, thise route runs in autocommit false.

    Args:
        sql: Valid sql for your backend
        sql_params: Optional jinja2 params

    Returns:
        json
    """
    key = request.headers['x-api-key']
    args = request.args
    sql = args['sql']
    sql_params = args.get('sql_params', '{}')
    autocommit = False

    client = _connect(backend, key, autocommit)
    rendered_sql = _format_sql(sql, sql_params)
    results = _sql_cmd(client, rendered_sql)

    return jsonify([(dict(row.items())) for row in results])
api.py 文件源码 项目:sql_lambda 作者: richiverse 项目源码 文件源码 阅读 29 收藏 0 点赞 0 评论 0
def execute_sql(backend):
    """Modify data from the database.

    Args:
        sql: valid sql for your backend
        sql_params: Optional jinja2 params

    Returns:
        json
    """
    key = request.headers['x-api-key']
    args = request.json
    sql = args['sql']
    sql_params = args.get('sql_params', '{}')
    autocommit = args.get('autocommit', False)

    client = _connect(backend, key, autocommit)
    rendered_sql = _format_sql(sql, sql_params)
    results = _sql_cmd(client, rendered_sql)

    return jsonify(str("%s row(s) affected." % results.rowcount))
ResourceBase.py 文件源码 项目:salicapi 作者: Lafaiet 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def request_start():
    content_type = request.headers.get('Accept') or ''
    real_ip = request.headers.get('X-Real-Ip') or ''

    Log.info(request.path+' '+format_args(request.args)\
                 +' '+real_ip\
                 +' '+content_type)

    #Test content_type

    # if content_type and content_type not in  AVAILABLE_CONTENT_TYPES:
    #     results = {'message' : 'Content-Type not supported',
    #                 'message_code' : 8
    #             }
    #     return {'error' : 'content-type'}
    #     return self.render(results, status_code = 405)
flask_jwt.py 文件源码 项目:opp 作者: openpassphrase 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def _default_auth_request_handler():
    if not request.headers['Content-Type']:
        raise JWTError("Bad Request", "Missing Content-Type", 400)
    if request.headers['Content-Type'] != "application/json":
        raise JWTError("Bad Request", "Invalid Content-Type", 400)

    data = request.get_json()
    username = data.get(current_app.config.get('JWT_AUTH_USERNAME_KEY'), None)
    password = data.get(current_app.config.get('JWT_AUTH_PASSWORD_KEY'), None)
    exp_delta = data.get(current_app.config.get('JWT_AUTH_EXPDELTA_KEY'), None)
    criterion = [username, password, len(data) >= 2]

    if not all(criterion):
        raise JWTError('Bad Request', 'Invalid credentials')

    identity = _jwt.authentication_callback(username, password)

    if identity:
        access_token = _jwt.jwt_encode_callback(identity, exp_delta)
        return _jwt.auth_response_callback(access_token, identity)
    else:
        raise JWTError('Bad Request', 'Invalid credentials')
api.py 文件源码 项目:duckpond 作者: alexmilowski 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def content():
   if request.method == 'GET':
      works = model.getContentList()
      return jsonld_response(json.dumps(works))

   if request.method == 'POST':
      # Parse the incoming JSON-LD data
      force = request.headers['Content-Type'].startswith('application/ld+json')
      data = request.get_json(force=force)
      if data is None:
         abort(400)
      if 'name' not in data or \
         'genre' not in data or \
         'headline' not in data or \
         '@type' not in data:
         abort(400)
      status,url,modified = model.createContent(data['@type'],data['genre'],data['name'],data['headline'])
      return Response(status=status,headers=({'Location' : url, 'Date-Modified' : modified} if status==201 else {}))
api.py 文件源码 项目:duckpond 作者: alexmilowski 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def content_item(id):

   if request.method == 'GET':
      content = model.getContent(id)
      return jsonld_response(json.dumps(content))

   if request.method == 'POST':
      abort(400)

   if request.method == 'PUT':
      force = request.headers['Content-Type'].startswith('application/ld+json')
      data = request.get_json(force=force)
      if data is None:
         abort(400)
      status_code,data,contentType = model.updateContent(id,data);
      if status_code==200:
         return Response(stream_with_context(data),content_type = contentType)
      else:
         abort(status_code)

   if request.method == 'DELETE':
      status = model.deleteContent(id)
      return Response(status=status)
api.py 文件源码 项目:duckpond 作者: alexmilowski 项目源码 文件源码 阅读 29 收藏 0 点赞 0 评论 0
def content_item_resource_upload(id,property):
   #print(request.headers['Content-Type'])
   #print(request.files)
   file = request.files['file']
   #print(file.filename)
   #print(file.content_type)
   #print(file.content_length)
   uploadContentType = file.content_type
   if file.content_type.startswith("text/") and file.content_type.find("charset=")<0:
      uploadContentType = file.content_type+"; charset=UTF-8"
   uploadDir = app.config['UPLOAD_STAGING'] if 'UPLOAD_STAGING' in app.config else 'tmp'
   os.makedirs(uploadDir,exist_ok=True)
   staged = os.path.join(uploadDir, file.filename)
   file.save(staged)
   status = 500
   responseJSON = None
   contentType = None
   with open(staged,"rb") as data:
      status,responseJSON,contentType = model.uploadContentResource(id,property,file.filename,uploadContentType,os.path.getsize(staged),data)
   os.unlink(staged)
   if status==200 or status==201:
      return Response(stream_with_context(responseJSON),status=status,content_type = contentType)
   else:
      return Response(status=status)
api.py 文件源码 项目:duckpond 作者: alexmilowski 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def query(self,q,limit=None,graph=None):
      params = {'query':str(q)}
      if limit is not None:
         params['limit'] = limit
      if graph is not None:
         params['context'] = '<' + graph + '>'

      #print(str(q))

      req = requests.get(self.endpoints['query'],params=params,headers={'accept':'application/json'},auth=self.auth)

      if (req.status_code>=200 or req.status_code<300):
         data = json.loads(req.text)
         return data
      else:
         raise IOError('Cannot query to uri <{}>, status={}'.format(self.service,req.status_code))
api.py 文件源码 项目:duckpond 作者: alexmilowski 项目源码 文件源码 阅读 27 收藏 0 点赞 0 评论 0
def update(self,q,limit=None,graph=None):
      params = {'query':str(q)}
      if limit is not None:
         params['limit'] = limit
      if graph is not None:
         params['context'] = '<' + graph + '>'

      #print(str(q))

      req = requests.post(self.endpoints['query'],params=params,headers={'accept':'application/json'},auth=self.auth)

      if (req.status_code>=200 or req.status_code<300):
         #print(req.text)
         data = json.loads(req.text)
         return data
      else:
         raise IOError('Cannot query to uri <{}>, status={}'.format(self.service,req.status_code))
echoBot.py 文件源码 项目:line-python-bot 作者: botimize 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def callback():
    # get X-Line-Signature header value
    signature = request.headers['X-Line-Signature']

    # get request body as text
    body = request.get_data(as_text=True)
    app.logger.info("Request body: " + body)

    event = request.get_json()
    botimize.log_incoming(event)

    # handle webhook body
    try:
        handler.handle(body, signature)
    except InvalidSignatureError:
        abort(400)

    return 'OK'
apiserver.py 文件源码 项目:studio 作者: studioml 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def get_and_verify_user(request):
    if not request.headers or 'Authorization' not in request.headers.keys():
        return None

    auth_token = request.headers['Authorization'].split(' ')[-1]
    if not auth_token or auth_token == 'null':
        return None

    claims = google.oauth2.id_token.verify_firebase_token(
        auth_token, _grequest)

    if not claims:
        return None
    else:
        global _save_auth_cookie
        if _save_auth_cookie and request.json and \
                'refreshToken' in request.json.keys():
            get_db().refresh_auth_token(
                claims['email'],
                request.json['refreshToken']
            )

        get_db().register_user(claims['user_id'], claims['email'])

        return claims['user_id']
isardSocketio.py 文件源码 项目:isard 作者: isard-vdi 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def socketio_domains_viewer(data):
    #~ if data['kind'] == 'file':
        #~ consola=app.isardapi.get_viewer_ticket(data['pk'])
        #~ viewer=''
        #~ return Response(consola, 
                        #~ mimetype="application/x-virt-viewer",
                        #~ headers={"Content-Disposition":"attachment;filename=consola.vv"})
    if data['kind'] == 'xpi':
        viewer=app.isardapi.get_spice_xpi(data['pk'])

    if data['kind'] == 'html5':
        print('HTML5')
        viewer=app.isardapi.get_domain_spice(data['pk'])
        ##### Change this when engine opens ports accordingly (without tls)
        if viewer['port']:
            viewer['port'] = viewer['port'] if viewer['port'] else viewer['tlsport']
            viewer['port'] = "5"+ viewer['port']
        #~ viewer['port']=viewer['port']-1
    socketio.emit('domain_viewer',
                    json.dumps({'kind':data['kind'],'viewer':viewer}),
                    namespace='/sio_users', 
                    room='user_'+current_user.username)
LoginViews.py 文件源码 项目:isard 作者: isard-vdi 项目源码 文件源码 阅读 28 收藏 0 点赞 0 评论 0
def login():
    if request.method == 'POST':
        if request.form['user'] is '' or request.form['password'] is '':
            flash("Can't leave it blank",'danger')
        else:
            au=auth()
            user=au.check(request.form['user'],request.form['password'])
            if user:
                login_user(user)
                flash('Logged in successfully.','success')
                if user.is_admin:
                        return redirect(url_for('admin'))
                return redirect(url_for('desktops'))
            else:
                flash('Username not found or incorrect password.','warning')
    remote_addr=request.headers['X-Forwarded-For'] if 'X-Forwarded-For' in request.headers else request.remote_addr
    disposables=app.isardapi.show_disposable(remote_addr)
    log.info(disposables)
    log.info(remote_addr)
    return render_template('login_disposables.html', disposables=disposables if disposables else '')
LoginViews.py 文件源码 项目:isard 作者: isard-vdi 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def voucher_login():
    if request.method == 'POST':
        remote_addr=request.headers['X-Forwarded-For'] if 'X-Forwarded-For' in request.headers else request.remote_addr
        au=auth_voucher()
        if au.check_voucher(request.form['voucher']):
            if au.check_user_exists(request.form['email']):
                au.register_user(request.form['voucher'],request.form['email'],remote_addr)
                flash('Resetting account. Email with new isard user sent to '+request.form['email']+'. Please check your email','warning')
            else:
                au.register_user(request.form['voucher'],request.form['email'],remote_addr)
                flash('Email with isard user sent to '+request.form['email']+'. Please check your email','success')
        else:
            flash('Invalid registration voucher code','danger')

    disposables=False
    return render_template('login.html', disposables=disposables if disposables else '')
main.py 文件源码 项目:microAuth 作者: Gingernaut 项目源码 文件源码 阅读 28 收藏 0 点赞 0 评论 0
def allAccounts():
    try:
        token = request.headers["Authorization"] or None

        if not token:
            return custResponse(401, "Unauthorized. Sign in required.")

        accId = accFunctions.getIdFromToken(token)

        if not accId or not accFunctions.isAdmin(accId):
            return custResponse(401, "Unauthorized. Invalid token.")

        users = [user.serialize() for user in user.query.all()]
        return custResponse(200, "Accounts successfully retrieved", {"Users": users})

    except Exception as e:
        if app.config["DEBUG"] == True:
            print("*-*-*-*")
            print(e)
            return custResponse(500,{"Err": str(e)})
        else:
            return custResponse(500, "An unknown error occured.")


# add same as above for put del on /accounts/id
app.py 文件源码 项目:quizbot-2017 作者: pycontw 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def configure_linebot_app(app):

    @app.after_request
    def commit_database(response):
        db.commit()
        return response

    @app.route("/api/line_webhook", methods=["POST"])
    def line_webhook():
        signature = request.headers['X-Line-Signature']
        body = request.get_data(as_text=True)
        logger.debug(f'Incoming message:\n{pformat(body)}')
        try:
            line_webhook_handler.handle(body, signature)
        except InvalidSignatureError:
            logger.warning('Message with an invalid signature received')
            abort(400)
        except LineBotApiError as e:
            logger.error(f'{e}\nDetails:\n{pformat(e.error.details)}')
            abort(500)
        except Exception as e:
            logger.error(f'Uncaught error: {e}')
            abort(500)
        return "OK"
app.py 文件源码 项目:infrabin 作者: maruina 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def headers():
    data = dict()
    data["method"] = request.method
    data["headers"] = dict(request.headers)
    data["origin"] = request.remote_addr
    return jsonify(data)


问题


面经


文章

微信
公众号

扫码关注公众号