def message_search_api(): g.parser.add_argument('q', type=bounded_str, location='args') args = strict_parse_args(g.parser, request.args) if request.method == 'GET': if not args['q']: err_string = ('GET HTTP method must include query' ' url parameter') g.log.error(err_string) return err(400, err_string) search_client = get_search_client(g.namespace.account) results = search_client.search_messages(g.db_session, args['q']) else: data = request.get_json(force=True) query = data.get('query') validate_search_query(query) sort = data.get('sort') validate_search_sort(sort) try: search_engine = NamespaceSearchEngine(g.namespace_public_id) results = search_engine.messages.search(query=query, sort=sort, max_results=args.limit, offset=args.offset) except SearchEngineError as e: g.log.error('Search error: {0}'.format(e)) return err(501, 'Search error') return g.encoder.jsonify(results)
def message_search_api(): args = strict_parse_args(g.parser, request.args) data = request.get_json(force=True) query = data.get('query') validate_search_query(query) try: search_engine = NamespaceSearchEngine(g.namespace_public_id) results = search_engine.messages.search(query=query, max_results=args.limit, offset=args.offset) except SearchEngineError as e: g.log.error('Search error: {0}'.format(e)) return err(501, 'Search error') return g.encoder.jsonify(results)