-
-
Save CaselIT/f0493d74422cce46c95c10e8abd1e4f0 to your computer and use it in GitHub Desktop.
Falcon compiled test
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/falcon/routing/compiled_master.c b/falcon/routing/compiled_pep484.c | |
index f638019b..6cc0c390 100755 | |
--- a/falcon/routing/compiled_master.c | |
+++ b/falcon/routing/compiled_pep484.c | |
@@ -1044,10 +1044,10 @@ struct __pyx_defaults { | |
PyObject *__pyx_arg_responder; | |
}; | |
-/* "falcon/routing/compiled.py":149 | |
+/* "falcon/routing/compiled.py":156 | |
* return map_http_methods(resource, suffix=kwargs.get('suffix', None)) | |
* | |
- * def add_route(self, uri_template, resource, **kwargs): # <<<<<<<<<<<<<< | |
+ * def add_route(self, uri_template: str, resource: object, **kwargs): # <<<<<<<<<<<<<< | |
* """Add a route between a URI path template and a resource. | |
* | |
*/ | |
@@ -1061,10 +1061,10 @@ struct __pyx_obj_6falcon_7routing_8compiled___pyx_scope_struct__add_route { | |
}; | |
-/* "falcon/routing/compiled.py":288 | |
+/* "falcon/routing/compiled.py":295 | |
* # ----------------------------------------------------------------- | |
* | |
- * def _require_coroutine_responders(self, method_map): # <<<<<<<<<<<<<< | |
+ * def _require_coroutine_responders(self, method_map: dict): # <<<<<<<<<<<<<< | |
* for method, responder in method_map.items(): | |
* # NOTE(kgriffs): We don't simply wrap non-async functions | |
*/ | |
@@ -1075,7 +1075,7 @@ struct __pyx_obj_6falcon_7routing_8compiled___pyx_scope_struct_1__require_corout | |
}; | |
-/* "falcon/routing/compiled.py":872 | |
+/* "falcon/routing/compiled.py":891 | |
* def __init__(self): | |
* self.converters = ConverterDict( | |
* (name, converter) for name, converter in converters.BUILTIN # <<<<<<<<<<<<<< | |
@@ -1280,15 +1280,6 @@ static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject *const *kwvalues | |
static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, | |
Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); | |
-/* PyObjectSetAttrStr.proto */ | |
-#if CYTHON_USE_TYPE_SLOTS | |
-#define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o, n, NULL) | |
-static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value); | |
-#else | |
-#define __Pyx_PyObject_DelAttrStr(o,n) PyObject_DelAttr(o,n) | |
-#define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v) | |
-#endif | |
- | |
/* PyDictVersioning.proto */ | |
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS | |
#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1) | |
@@ -1373,6 +1364,18 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject | |
#define __Pyx_PyObject_FastCall(func, args, nargs) __Pyx_PyObject_FastCallDict(func, args, (size_t)(nargs), NULL) | |
static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs); | |
+/* PyObjectSetAttrStr.proto */ | |
+#if CYTHON_USE_TYPE_SLOTS | |
+#define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o, n, NULL) | |
+static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value); | |
+#else | |
+#define __Pyx_PyObject_DelAttrStr(o,n) PyObject_DelAttr(o,n) | |
+#define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v) | |
+#endif | |
+ | |
+/* RaiseUnexpectedTypeError.proto */ | |
+static int __Pyx_RaiseUnexpectedTypeError(const char *expected, PyObject *obj); | |
+ | |
/* dict_getitem_default.proto */ | |
static PyObject* __Pyx_PyDict_GetItemDefault(PyObject* d, PyObject* key, PyObject* default_value); | |
@@ -1401,6 +1404,12 @@ static CYTHON_INLINE PyObject *__Pyx_CallUnboundCMethod2(__Pyx_CachedCFunction * | |
#define __Pyx_CallUnboundCMethod2(cfunc, self, arg1, arg2) __Pyx__CallUnboundCMethod2(cfunc, self, arg1, arg2) | |
#endif | |
+/* ArgTypeTest.proto */ | |
+#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\ | |
+ ((likely(__Pyx_IS_TYPE(obj, type) | (none_allowed && (obj == Py_None)))) ? 1 :\ | |
+ __Pyx__ArgTypeTest(obj, type, name, exact)) | |
+static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact); | |
+ | |
/* RaiseClosureNameError.proto */ | |
static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname); | |
@@ -1682,15 +1691,6 @@ static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject * | |
static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb); | |
#endif | |
-/* ArgTypeTest.proto */ | |
-#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\ | |
- ((likely(__Pyx_IS_TYPE(obj, type) | (none_allowed && (obj == Py_None)))) ? 1 :\ | |
- __Pyx__ArgTypeTest(obj, type, name, exact)) | |
-static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact); | |
- | |
-/* RaiseUnexpectedTypeError.proto */ | |
-static int __Pyx_RaiseUnexpectedTypeError(const char *expected, PyObject *obj); | |
- | |
/* ListCompAppend.proto */ | |
#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS | |
static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) { | |
@@ -1708,26 +1708,6 @@ static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) { | |
#define __Pyx_ListComp_Append(L,x) PyList_Append(L,x) | |
#endif | |
-/* CallUnboundCMethod0.proto */ | |
-static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self); | |
-#if CYTHON_COMPILING_IN_CPYTHON | |
-#define __Pyx_CallUnboundCMethod0(cfunc, self)\ | |
- (likely((cfunc)->func) ?\ | |
- (likely((cfunc)->flag == METH_NOARGS) ? (*((cfunc)->func))(self, NULL) :\ | |
- (PY_VERSION_HEX >= 0x030600B1 && likely((cfunc)->flag == METH_FASTCALL) ?\ | |
- (PY_VERSION_HEX >= 0x030700A0 ?\ | |
- (*(__Pyx_PyCFunctionFast)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0) :\ | |
- (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0, NULL)) :\ | |
- (PY_VERSION_HEX >= 0x030700A0 && (cfunc)->flag == (METH_FASTCALL | METH_KEYWORDS) ?\ | |
- (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0, NULL) :\ | |
- (likely((cfunc)->flag == (METH_VARARGS | METH_KEYWORDS)) ? ((*(PyCFunctionWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, __pyx_empty_tuple, NULL)) :\ | |
- ((cfunc)->flag == METH_VARARGS ? (*((cfunc)->func))(self, __pyx_empty_tuple) :\ | |
- __Pyx__CallUnboundCMethod0(cfunc, self)))))) :\ | |
- __Pyx__CallUnboundCMethod0(cfunc, self)) | |
-#else | |
-#define __Pyx_CallUnboundCMethod0(cfunc, self) __Pyx__CallUnboundCMethod0(cfunc, self) | |
-#endif | |
- | |
/* PyExec.proto */ | |
static PyObject* __Pyx_PyExec3(PyObject*, PyObject*, PyObject*); | |
static CYTHON_INLINE PyObject* __Pyx_PyExec2(PyObject*, PyObject*); | |
@@ -1992,53 +1972,62 @@ static PyObject *__pyx_builtin_AssertionError; | |
static PyObject *__pyx_builtin_compile; | |
static PyObject *__pyx_builtin_eval; | |
static PyObject *__pyx_builtin_AttributeError; | |
+static PyObject *__pyx_builtin_NotImplementedError; | |
static PyObject *__pyx_builtin_super; | |
/* #### Code section: string_decls ### */ | |
-static const char __pyx_k_[] = "/"; | |
+static const char __pyx_k_[] = ""; | |
static const char __pyx_k_e[] = "e"; | |
static const char __pyx_k_n[] = "n"; | |
static const char __pyx_k_s[] = "\\s"; | |
static const char __pyx_k_v[] = "v"; | |
-static const char __pyx_k__9[] = ":"; | |
+static const char __pyx_k__2[] = "/"; | |
static const char __pyx_k_gc[] = "gc"; | |
static const char __pyx_k_re[] = "re"; | |
static const char __pyx_k_0_1[] = "{0}({1})"; | |
+static const char __pyx_k_Any[] = "Any"; | |
static const char __pyx_k_P_2[] = "(?P<\\2>.+)"; | |
-static const char __pyx_k__10[] = ">"; | |
-static const char __pyx_k__11[] = "=="; | |
-static const char __pyx_k__12[] = "\n"; | |
-static const char __pyx_k__14[] = "[\\.\\(\\)\\[\\]\\?\\$\\*\\+\\^\\|]"; | |
-static const char __pyx_k__15[] = "^"; | |
-static const char __pyx_k__16[] = "$"; | |
-static const char __pyx_k__18[] = "*"; | |
-static const char __pyx_k__19[] = " "; | |
-static const char __pyx_k__42[] = "__"; | |
+static const char __pyx_k_Set[] = "Set"; | |
+static const char __pyx_k__10[] = ":"; | |
+static const char __pyx_k__11[] = ">"; | |
+static const char __pyx_k__12[] = "=="; | |
+static const char __pyx_k__13[] = "\n"; | |
+static const char __pyx_k__15[] = "[\\.\\(\\)\\[\\]\\?\\$\\*\\+\\^\\|]"; | |
+static const char __pyx_k__16[] = "^"; | |
+static const char __pyx_k__17[] = "$"; | |
+static const char __pyx_k__19[] = "*"; | |
+static const char __pyx_k__21[] = " "; | |
+static const char __pyx_k__44[] = "__"; | |
static const char __pyx_k_add[] = "add"; | |
static const char __pyx_k_ast[] = "_ast"; | |
static const char __pyx_k_doc[] = "__doc__"; | |
static const char __pyx_k_g_0[] = "\\\\\\g<0>"; | |
static const char __pyx_k_get[] = "get"; | |
+static const char __pyx_k_int[] = "int"; | |
static const char __pyx_k_key[] = "key"; | |
static const char __pyx_k_let[] = "let"; | |
static const char __pyx_k_msg[] = "msg"; | |
static const char __pyx_k_req[] = "req"; | |
static const char __pyx_k_src[] = "src"; | |
+static const char __pyx_k_str[] = "str"; | |
static const char __pyx_k_sub[] = "sub"; | |
static const char __pyx_k_uri[] = "uri"; | |
+static const char __pyx_k_Dict[] = "Dict"; | |
+static const char __pyx_k_List[] = "List"; | |
static const char __pyx_k_Lock[] = "Lock"; | |
-static const char __pyx_k__131[] = "?"; | |
+static const char __pyx_k_None[] = "None"; | |
+static const char __pyx_k__135[] = "?"; | |
static const char __pyx_k_args[] = "args"; | |
static const char __pyx_k_asgi[] = "_asgi"; | |
+static const char __pyx_k_bool[] = "bool"; | |
static const char __pyx_k_copy[] = "copy"; | |
static const char __pyx_k_data[] = "data"; | |
-static const char __pyx_k_dict[] = "__dict__"; | |
+static const char __pyx_k_dict[] = "dict"; | |
static const char __pyx_k_eval[] = "eval"; | |
static const char __pyx_k_exec[] = "exec"; | |
static const char __pyx_k_exit[] = "__exit__"; | |
static const char __pyx_k_find[] = "_find"; | |
static const char __pyx_k_init[] = "__init__"; | |
static const char __pyx_k_keys[] = "keys"; | |
-static const char __pyx_k_list[] = "list"; | |
static const char __pyx_k_main[] = "__main__"; | |
static const char __pyx_k_name[] = "__name__"; | |
static const char __pyx_k_node[] = "node"; | |
@@ -2049,6 +2038,7 @@ static const char __pyx_k_span[] = "span"; | |
static const char __pyx_k_spec[] = "__spec__"; | |
static const char __pyx_k_test[] = "__test__"; | |
static const char __pyx_k_FIELD[] = "{FIELD}"; | |
+static const char __pyx_k_Union[] = "Union"; | |
static const char __pyx_k_child[] = "child"; | |
static const char __pyx_k_close[] = "close"; | |
static const char __pyx_k_cname[] = "cname"; | |
@@ -2073,6 +2063,7 @@ static const char __pyx_k_throw[] = "throw"; | |
static const char __pyx_k_append[] = "append"; | |
static const char __pyx_k_argstr[] = "argstr"; | |
static const char __pyx_k_asgi_2[] = "asgi"; | |
+static const char __pyx_k_dict_2[] = "__dict__"; | |
static const char __pyx_k_enable[] = "enable"; | |
static const char __pyx_k_find_2[] = "find"; | |
static const char __pyx_k_format[] = "format"; | |
@@ -2087,15 +2078,21 @@ static const char __pyx_k_method[] = "method"; | |
static const char __pyx_k_module[] = "__module__"; | |
static const char __pyx_k_name_2[] = "name"; | |
static const char __pyx_k_node_2[] = "_node"; | |
+static const char __pyx_k_object[] = "object"; | |
static const char __pyx_k_params[] = "params"; | |
static const char __pyx_k_parent[] = "parent"; | |
+static const char __pyx_k_return[] = "return"; | |
static const char __pyx_k_search[] = "search"; | |
-static const char __pyx_k_setter[] = "setter"; | |
static const char __pyx_k_sorted[] = "sorted"; | |
static const char __pyx_k_string[] = "<string>"; | |
static const char __pyx_k_suffix[] = "suffix"; | |
+static const char __pyx_k_typing[] = "typing"; | |
static const char __pyx_k_update[] = "update"; | |
static const char __pyx_k_BUILTIN[] = "BUILTIN"; | |
+static const char __pyx_k_CxChild[] = "_CxChild"; | |
+static const char __pyx_k_Pattern[] = "Pattern"; | |
+static const char __pyx_k_Request[] = "Request"; | |
+static const char __pyx_k_Set_str[] = "'Set[str]'"; | |
static const char __pyx_k_TAB_STR[] = "_TAB_STR"; | |
static const char __pyx_k_compile[] = "compile"; | |
static const char __pyx_k_disable[] = "disable"; | |
@@ -2109,7 +2106,9 @@ static const char __pyx_k_pattern[] = "pattern"; | |
static const char __pyx_k_prepare[] = "__prepare__"; | |
static const char __pyx_k_segment[] = "segment"; | |
static const char __pyx_k_setitem[] = "__setitem__"; | |
+static const char __pyx_k_Callable[] = "Callable"; | |
static const char __pyx_k_CxParent[] = "_CxParent"; | |
+static const char __pyx_k_Optional[] = "Optional"; | |
static const char __pyx_k_UserDict[] = "UserDict"; | |
static const char __pyx_k_builtins[] = "__builtins__"; | |
static const char __pyx_k_children[] = "children"; | |
@@ -2124,6 +2123,7 @@ static const char __pyx_k_set_name[] = "__set_name__"; | |
static const char __pyx_k_template[] = "template"; | |
static const char __pyx_k_validate[] = "_validate"; | |
static const char __pyx_k_var_name[] = "var_name"; | |
+static const char __pyx_k_CxElement[] = "_CxElement"; | |
static const char __pyx_k_TypeError[] = "TypeError"; | |
static const char __pyx_k_add_route[] = "add_route"; | |
static const char __pyx_k_cname_sep[] = "cname_sep"; | |
@@ -2140,10 +2140,15 @@ static const char __pyx_k_threading[] = "threading"; | |
static const char __pyx_k_value_idx[] = "value_idx"; | |
static const char __pyx_k_var_nodes[] = "var_nodes"; | |
static const char __pyx_k_0_1_groups[] = "{0}{1} = groups"; | |
+static const char __pyx_k_Callable_2[] = "'Callable'"; | |
+static const char __pyx_k_CxParent_2[] = "'_CxParent'"; | |
static const char __pyx_k_ValueError[] = "ValueError"; | |
static const char __pyx_k_children_2[] = "_children"; | |
static const char __pyx_k_comparison[] = "comparison"; | |
static const char __pyx_k_converters[] = "_converters"; | |
+static const char __pyx_k_cx_literal[] = "cx_literal"; | |
+static const char __pyx_k_cx_pattern[] = "cx_pattern"; | |
+static const char __pyx_k_cx_segment[] = "cx_segment"; | |
static const char __pyx_k_field_name[] = "field_name"; | |
static const char __pyx_k_finder_src[] = "_finder_src"; | |
static const char __pyx_k_is_complex[] = "is_complex"; | |
@@ -2154,7 +2159,10 @@ static const char __pyx_k_path_index[] = "path_index"; | |
static const char __pyx_k_patterns_2[] = "patterns"; | |
static const char __pyx_k_unique_idx[] = "unique_idx"; | |
static const char __pyx_k_used_names[] = "used_names"; | |
+static const char __pyx_k_CxChild_src[] = "_CxChild.src"; | |
+static const char __pyx_k_CxElement_2[] = "'_CxElement'"; | |
static const char __pyx_k_collections[] = "collections"; | |
+static const char __pyx_k_cx_path_len[] = "cx_path_len"; | |
static const char __pyx_k_fast_return[] = "fast_return"; | |
static const char __pyx_k_found_nodes[] = "_found_nodes"; | |
static const char __pyx_k_indentation[] = "indentation"; | |
@@ -2168,11 +2176,14 @@ static const char __pyx_k_var_pattern[] = "var_pattern"; | |
static const char __pyx_k_0_params_1_2[] = "{0}params['{1}'] = {2}"; | |
static const char __pyx_k_CxParent_src[] = "_CxParent.src"; | |
static const char __pyx_k_CxReturnNone[] = "_CxReturnNone"; | |
+static const char __pyx_k_List_Pattern[] = "'List[Pattern]'"; | |
+static const char __pyx_k_Optional_str[] = "'Optional[str]'"; | |
static const char __pyx_k_append_child[] = "append_child"; | |
static const char __pyx_k_children_src[] = "_children_src"; | |
static const char __pyx_k_comparison_2[] = "_comparison"; | |
static const char __pyx_k_compile_lock[] = "_compile_lock"; | |
static const char __pyx_k_converters_2[] = "converters"; | |
+static const char __pyx_k_cx_converter[] = "cx_converter"; | |
static const char __pyx_k_field_name_2[] = "_field_name"; | |
static const char __pyx_k_finder_src_2[] = "finder_src"; | |
static const char __pyx_k_found_simple[] = "found_simple"; | |
@@ -2191,6 +2202,8 @@ static const char __pyx_k_0_return_None[] = "{0}return None"; | |
static const char __pyx_k_ConverterDict[] = "ConverterDict"; | |
static const char __pyx_k_CxReturnValue[] = "_CxReturnValue"; | |
static const char __pyx_k_FIELD_PATTERN[] = "_FIELD_PATTERN"; | |
+static const char __pyx_k_Optional_dict[] = "'Optional[dict]'"; | |
+static const char __pyx_k_TYPE_CHECKING[] = "TYPE_CHECKING"; | |
static const char __pyx_k_class_getitem[] = "__class_getitem__"; | |
static const char __pyx_k_converter_idx[] = "converter_idx"; | |
static const char __pyx_k_converter_map[] = "_converter_map"; | |
@@ -2208,12 +2221,15 @@ static const char __pyx_k_CxIfPathLength[] = "_CxIfPathLength"; | |
static const char __pyx_k_conflicts_with[] = "conflicts_with"; | |
static const char __pyx_k_converter_name[] = "converter_name"; | |
static const char __pyx_k_dict_groups__0[] = "dict_groups_{0}"; | |
+static const char __pyx_k_falcon_request[] = "falcon.request"; | |
static const char __pyx_k_falcon_routing[] = "falcon.routing"; | |
static const char __pyx_k_field_value__0[] = "field_value_{0}"; | |
static const char __pyx_k_is_python_func[] = "is_python_func"; | |
static const char __pyx_k_pattern_text_2[] = "_pattern_text"; | |
static const char __pyx_k_0_if_path_1_2_3[] = "{0}if path[{1}] == '{2}':\n{3}"; | |
static const char __pyx_k_CxParent___init[] = "_CxParent.__init__"; | |
+static const char __pyx_k_List__CxElement[] = "'List[_CxElement]'"; | |
+static const char __pyx_k_Optional_object[] = "'Optional[object]'"; | |
static const char __pyx_k_converter_class[] = "converter_class"; | |
static const char __pyx_k_converter_idx_2[] = "_converter_idx"; | |
static const char __pyx_k_dict_value_name[] = "dict_value_name"; | |
@@ -2221,8 +2237,10 @@ static const char __pyx_k_escaped_segment[] = "escaped_segment"; | |
static const char __pyx_k_found_var_nodes[] = "found_var_nodes"; | |
static const char __pyx_k_return_values_2[] = "return_values"; | |
static const char __pyx_k_CxReturnNone_src[] = "_CxReturnNone.src"; | |
+static const char __pyx_k_Optional_Request[] = "'Optional[Request]'"; | |
static const char __pyx_k_compile_and_find[] = "_compile_and_find"; | |
static const char __pyx_k_converter_argstr[] = "converter_argstr"; | |
+static const char __pyx_k_cx_pattern_match[] = "cx_pattern_match"; | |
static const char __pyx_k_falcon_util_misc[] = "falcon.util.misc"; | |
static const char __pyx_k_falcon_util_sync[] = "falcon.util.sync"; | |
static const char __pyx_k_field_value_name[] = "field_value_name"; | |
@@ -2251,6 +2269,7 @@ static const char __pyx_k_0_if_path_len_1_2_3[] = "{0}if path_len {1} {2}:\n{3}" | |
static const char __pyx_k_CompiledRouter_find[] = "CompiledRouter.find"; | |
static const char __pyx_k_CxSetParamFromValue[] = "_CxSetParamFromValue"; | |
static const char __pyx_k_CxSetParamsFromDict[] = "_CxSetParamsFromDict"; | |
+static const char __pyx_k_NotImplementedError[] = "NotImplementedError"; | |
static const char __pyx_k_Unknown_converter_0[] = "Unknown converter: \"{0}\""; | |
static const char __pyx_k_falcon_routing_util[] = "falcon.routing.util"; | |
static const char __pyx_k_field_variable_name[] = "field_variable_name"; | |
@@ -2276,11 +2295,13 @@ static const char __pyx_k_CxSetParamFromPath_src[] = "_CxSetParamFromPath.src"; | |
static const char __pyx_k_Default_routing_engine[] = "Default routing engine."; | |
static const char __pyx_k_set_default_responders[] = "set_default_responders"; | |
static const char __pyx_k_0_fragment_groups_pop_1[] = "{0}fragment = groups.pop('{1}')"; | |
+static const char __pyx_k_CompiledRouterOptions_2[] = "'CompiledRouterOptions'"; | |
static const char __pyx_k_CompiledRouter__compile[] = "CompiledRouter._compile"; | |
static const char __pyx_k_ConverterDict___setitem[] = "ConverterDict.__setitem__"; | |
static const char __pyx_k_ConverterDict__validate[] = "ConverterDict._validate"; | |
static const char __pyx_k_CxSetParamFromValue_src[] = "_CxSetParamFromValue.src"; | |
static const char __pyx_k_CxSetParamsFromDict_src[] = "_CxSetParamsFromDict.src"; | |
+static const char __pyx_k_List_CompiledRouterNode[] = "'List[CompiledRouterNode]'"; | |
static const char __pyx_k_falcon_routing_compiled[] = "falcon.routing.compiled"; | |
static const char __pyx_k_generate_conversion_ast[] = "_generate_conversion_ast"; | |
static const char __pyx_k_0_groups_match_groupdict[] = "{0}groups = match.groupdict()"; | |
@@ -2366,9 +2387,12 @@ static PyObject *__pyx_kp_u_0_return_None; | |
static PyObject *__pyx_kp_u_0_return_return_values_1; | |
static PyObject *__pyx_kp_u_A_Za_z__A_Za_z0_9; | |
static PyObject *__pyx_kp_s_A_dict_like_class_for_storing_fi; | |
+static PyObject *__pyx_n_s_Any; | |
static PyObject *__pyx_n_s_AssertionError; | |
static PyObject *__pyx_n_s_AttributeError; | |
static PyObject *__pyx_n_s_BUILTIN; | |
+static PyObject *__pyx_n_s_Callable; | |
+static PyObject *__pyx_kp_s_Callable_2; | |
static PyObject *__pyx_kp_u_Cannot_instantiate_converter; | |
static PyObject *__pyx_n_s_CompiledRouter; | |
static PyObject *__pyx_n_s_CompiledRouterNode; | |
@@ -2377,6 +2401,7 @@ static PyObject *__pyx_n_s_CompiledRouterNode___init; | |
static PyObject *__pyx_n_s_CompiledRouterNode_conflicts_wit; | |
static PyObject *__pyx_n_s_CompiledRouterNode_matches; | |
static PyObject *__pyx_n_s_CompiledRouterOptions; | |
+static PyObject *__pyx_kp_s_CompiledRouterOptions_2; | |
static PyObject *__pyx_n_s_CompiledRouterOptions___init; | |
static PyObject *__pyx_n_s_CompiledRouterOptions___init___l; | |
static PyObject *__pyx_n_s_CompiledRouter___init; | |
@@ -2400,6 +2425,11 @@ static PyObject *__pyx_n_s_ConverterDict; | |
static PyObject *__pyx_n_s_ConverterDict___setitem; | |
static PyObject *__pyx_n_s_ConverterDict__validate; | |
static PyObject *__pyx_n_s_ConverterDict_update; | |
+static PyObject *__pyx_n_s_CxChild; | |
+static PyObject *__pyx_n_u_CxChild; | |
+static PyObject *__pyx_n_s_CxChild_src; | |
+static PyObject *__pyx_n_s_CxElement; | |
+static PyObject *__pyx_kp_s_CxElement_2; | |
static PyObject *__pyx_n_s_CxIfConverterField; | |
static PyObject *__pyx_n_s_CxIfConverterField___init; | |
static PyObject *__pyx_n_s_CxIfConverterField_src; | |
@@ -2413,6 +2443,8 @@ static PyObject *__pyx_n_s_CxIfPathSegmentPattern; | |
static PyObject *__pyx_n_s_CxIfPathSegmentPattern___init; | |
static PyObject *__pyx_n_s_CxIfPathSegmentPattern_src; | |
static PyObject *__pyx_n_s_CxParent; | |
+static PyObject *__pyx_n_u_CxParent; | |
+static PyObject *__pyx_kp_s_CxParent_2; | |
static PyObject *__pyx_n_s_CxParent___init; | |
static PyObject *__pyx_n_s_CxParent__children_src; | |
static PyObject *__pyx_n_s_CxParent_append_child; | |
@@ -2446,6 +2478,7 @@ static PyObject *__pyx_n_s_CxVariableFromPatternMatchPrefe_3; | |
static PyObject *__pyx_n_s_CxVariableFromPatternMatch___in; | |
static PyObject *__pyx_n_s_CxVariableFromPatternMatch_src; | |
static PyObject *__pyx_kp_s_Defines_a_set_of_configurable_ro; | |
+static PyObject *__pyx_n_s_Dict; | |
static PyObject *__pyx_kp_u_FIELD; | |
static PyObject *__pyx_n_s_FIELD_PATTERN; | |
static PyObject *__pyx_kp_s_Fast_URI_router_which_compiles_i; | |
@@ -2453,31 +2486,49 @@ static PyObject *__pyx_kp_u_Field_names_may_not_be_duplicate; | |
static PyObject *__pyx_kp_u_Field_names_must_be_valid_identi; | |
static PyObject *__pyx_n_s_IDENTIFIER_PATTERN; | |
static PyObject *__pyx_kp_u_Invalid_converter_name_Names_may; | |
+static PyObject *__pyx_n_s_List; | |
+static PyObject *__pyx_kp_s_List_CompiledRouterNode; | |
+static PyObject *__pyx_kp_s_List_Pattern; | |
+static PyObject *__pyx_kp_s_List__CxElement; | |
static PyObject *__pyx_n_s_Lock; | |
static PyObject *__pyx_kp_u_Missing_converter_for_field_0; | |
+static PyObject *__pyx_n_s_None; | |
+static PyObject *__pyx_n_s_NotImplementedError; | |
+static PyObject *__pyx_n_s_Optional; | |
+static PyObject *__pyx_kp_s_Optional_Request; | |
+static PyObject *__pyx_kp_s_Optional_dict; | |
+static PyObject *__pyx_kp_s_Optional_object; | |
+static PyObject *__pyx_kp_s_Optional_str; | |
static PyObject *__pyx_kp_u_P_2; | |
static PyObject *__pyx_kp_u_P_fname_P_cname_sep_P_cname_P_a; | |
+static PyObject *__pyx_n_s_Pattern; | |
static PyObject *__pyx_kp_s_Represents_a_single_URI_segment; | |
+static PyObject *__pyx_n_s_Request; | |
+static PyObject *__pyx_n_s_Set; | |
+static PyObject *__pyx_kp_s_Set_str; | |
static PyObject *__pyx_n_s_TAB_STR; | |
+static PyObject *__pyx_n_s_TYPE_CHECKING; | |
static PyObject *__pyx_kp_u_The_URI_template_for_this_route; | |
static PyObject *__pyx_kp_u_The_responder_must_be_a_non_bloc; | |
static PyObject *__pyx_kp_u_The_responder_must_be_a_regular; | |
static PyObject *__pyx_n_s_TypeError; | |
static PyObject *__pyx_kp_u_URI_templates_may_not_include_wh; | |
+static PyObject *__pyx_n_s_Union; | |
static PyObject *__pyx_kp_u_Unknown_converter_0; | |
static PyObject *__pyx_n_s_UserDict; | |
static PyObject *__pyx_n_s_ValueError; | |
static PyObject *__pyx_kp_u__10; | |
static PyObject *__pyx_kp_u__11; | |
static PyObject *__pyx_kp_u__12; | |
-static PyObject *__pyx_n_s__131; | |
-static PyObject *__pyx_kp_u__14; | |
+static PyObject *__pyx_kp_u__13; | |
+static PyObject *__pyx_n_s__135; | |
static PyObject *__pyx_kp_u__15; | |
static PyObject *__pyx_kp_u__16; | |
-static PyObject *__pyx_n_s__18; | |
-static PyObject *__pyx_kp_u__19; | |
-static PyObject *__pyx_n_s__42; | |
-static PyObject *__pyx_kp_u__9; | |
+static PyObject *__pyx_kp_u__17; | |
+static PyObject *__pyx_n_s__19; | |
+static PyObject *__pyx_kp_u__2; | |
+static PyObject *__pyx_kp_u__21; | |
+static PyObject *__pyx_n_s__44; | |
static PyObject *__pyx_n_s_add; | |
static PyObject *__pyx_n_s_add_route; | |
static PyObject *__pyx_n_s_append; | |
@@ -2490,6 +2541,7 @@ static PyObject *__pyx_n_s_asgi_2; | |
static PyObject *__pyx_n_s_ast; | |
static PyObject *__pyx_n_u_ast; | |
static PyObject *__pyx_n_s_asyncio_coroutines; | |
+static PyObject *__pyx_n_s_bool; | |
static PyObject *__pyx_n_s_builtins; | |
static PyObject *__pyx_n_s_child; | |
static PyObject *__pyx_n_s_children; | |
@@ -2525,9 +2577,16 @@ static PyObject *__pyx_n_u_converters; | |
static PyObject *__pyx_n_s_converters_2; | |
static PyObject *__pyx_n_u_converters_2; | |
static PyObject *__pyx_n_s_copy; | |
+static PyObject *__pyx_n_s_cx_converter; | |
+static PyObject *__pyx_n_s_cx_literal; | |
+static PyObject *__pyx_n_s_cx_path_len; | |
+static PyObject *__pyx_n_s_cx_pattern; | |
+static PyObject *__pyx_n_s_cx_pattern_match; | |
+static PyObject *__pyx_n_s_cx_segment; | |
static PyObject *__pyx_n_s_data; | |
static PyObject *__pyx_kp_u_def_find_path_return_values_patt; | |
static PyObject *__pyx_n_s_dict; | |
+static PyObject *__pyx_n_s_dict_2; | |
static PyObject *__pyx_kp_u_dict_groups__0; | |
static PyObject *__pyx_kp_u_dict_match__0; | |
static PyObject *__pyx_n_s_dict_value_name; | |
@@ -2542,6 +2601,7 @@ static PyObject *__pyx_n_s_escaped_segment; | |
static PyObject *__pyx_n_s_eval; | |
static PyObject *__pyx_n_u_exec; | |
static PyObject *__pyx_n_s_exit; | |
+static PyObject *__pyx_n_s_falcon_request; | |
static PyObject *__pyx_n_s_falcon_routing; | |
static PyObject *__pyx_n_s_falcon_routing_compiled; | |
static PyObject *__pyx_kp_s_falcon_routing_compiled_py; | |
@@ -2584,6 +2644,7 @@ static PyObject *__pyx_n_s_initializing; | |
static PyObject *__pyx_n_s_insert; | |
static PyObject *__pyx_n_s_inspect; | |
static PyObject *__pyx_n_s_instantiate_converter; | |
+static PyObject *__pyx_n_s_int; | |
static PyObject *__pyx_n_s_is_complex; | |
static PyObject *__pyx_n_s_is_coroutine; | |
static PyObject *__pyx_n_s_is_identifier; | |
@@ -2603,7 +2664,6 @@ static PyObject *__pyx_n_s_length_2; | |
static PyObject *__pyx_n_s_let; | |
static PyObject *__pyx_n_s_level; | |
static PyObject *__pyx_n_s_lines; | |
-static PyObject *__pyx_n_s_list; | |
static PyObject *__pyx_n_s_literal; | |
static PyObject *__pyx_n_s_literal_2; | |
static PyObject *__pyx_n_s_lstrip; | |
@@ -2627,6 +2687,7 @@ static PyObject *__pyx_n_s_node; | |
static PyObject *__pyx_n_s_node_2; | |
static PyObject *__pyx_n_s_nodes; | |
static PyObject *__pyx_n_s_num_fields; | |
+static PyObject *__pyx_n_s_object; | |
static PyObject *__pyx_n_s_options; | |
static PyObject *__pyx_n_u_options; | |
static PyObject *__pyx_n_s_options_2; | |
@@ -2660,6 +2721,7 @@ static PyObject *__pyx_n_s_require_non_coroutine_responder; | |
static PyObject *__pyx_n_s_resource; | |
static PyObject *__pyx_n_s_resource_idx; | |
static PyObject *__pyx_n_s_responder; | |
+static PyObject *__pyx_n_s_return; | |
static PyObject *__pyx_kp_u_return_None; | |
static PyObject *__pyx_n_s_return_values; | |
static PyObject *__pyx_n_u_return_values; | |
@@ -2677,7 +2739,6 @@ static PyObject *__pyx_n_s_send; | |
static PyObject *__pyx_n_s_set_default_responders; | |
static PyObject *__pyx_n_s_set_name; | |
static PyObject *__pyx_n_s_setitem; | |
-static PyObject *__pyx_n_s_setter; | |
static PyObject *__pyx_n_s_should_wrap_non_coroutines; | |
static PyObject *__pyx_n_s_slots; | |
static PyObject *__pyx_n_s_sorted; | |
@@ -2686,6 +2747,7 @@ static PyObject *__pyx_n_s_spec; | |
static PyObject *__pyx_n_s_split; | |
static PyObject *__pyx_n_s_src; | |
static PyObject *__pyx_n_s_src_lines; | |
+static PyObject *__pyx_n_s_str; | |
static PyObject *__pyx_kp_u_string; | |
static PyObject *__pyx_n_s_sub; | |
static PyObject *__pyx_n_s_suffix; | |
@@ -2695,6 +2757,7 @@ static PyObject *__pyx_n_s_template; | |
static PyObject *__pyx_n_s_test; | |
static PyObject *__pyx_n_s_threading; | |
static PyObject *__pyx_n_s_throw; | |
+static PyObject *__pyx_n_s_typing; | |
static PyObject *__pyx_n_s_unique_idx; | |
static PyObject *__pyx_n_s_unique_idx_2; | |
static PyObject *__pyx_n_s_update; | |
@@ -2743,6 +2806,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_9_CxParent___init__(CYTHON_ | |
static PyObject *__pyx_pf_6falcon_7routing_8compiled_9_CxParent_2append_child(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_construct); /* proto */ | |
static PyObject *__pyx_pf_6falcon_7routing_8compiled_9_CxParent_4src(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_indentation); /* proto */ | |
static PyObject *__pyx_pf_6falcon_7routing_8compiled_9_CxParent_6_children_src(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_indentation); /* proto */ | |
+static PyObject *__pyx_pf_6falcon_7routing_8compiled_8_CxChild_src(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_indentation); /* proto */ | |
static PyObject *__pyx_pf_6falcon_7routing_8compiled_15_CxIfPathLength___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_comparison, PyObject *__pyx_v_length); /* proto */ | |
static PyObject *__pyx_pf_6falcon_7routing_8compiled_15_CxIfPathLength_2src(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_indentation); /* proto */ | |
static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxIfPathSegmentLiteral___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_segment_idx, PyObject *__pyx_v_literal); /* proto */ | |
@@ -2773,49 +2837,49 @@ static PyObject *__pyx_tp_new_6falcon_7routing_8compiled___pyx_scope_struct__add | |
static PyObject *__pyx_tp_new_6falcon_7routing_8compiled___pyx_scope_struct_1__require_coroutine_responders(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ | |
static PyObject *__pyx_tp_new_6falcon_7routing_8compiled___pyx_scope_struct_2_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ | |
static __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_get = {0, 0, 0, 0, 0}; | |
-static __Pyx_CachedCFunction __pyx_umethod_PyList_Type_copy = {0, 0, 0, 0, 0}; | |
static __Pyx_CachedCFunction __pyx_umethod_PyUnicode_Type_format = {0, 0, 0, 0, 0}; | |
+static __Pyx_CachedCFunction __pyx_umethod_PyUnicode_Type_lstrip = {0, 0, 0, 0, 0}; | |
#if !CYTHON_USE_MODULE_STATE | |
static PyObject *__pyx_int_0; | |
static PyObject *__pyx_int_1; | |
#endif | |
#if !CYTHON_USE_MODULE_STATE | |
-static PyObject *__pyx_tuple__2; | |
static PyObject *__pyx_tuple__3; | |
static PyObject *__pyx_tuple__4; | |
-static PyObject *__pyx_tuple__6; | |
+static PyObject *__pyx_tuple__5; | |
static PyObject *__pyx_tuple__7; | |
-static PyObject *__pyx_tuple__13; | |
-static PyObject *__pyx_tuple__17; | |
+static PyObject *__pyx_tuple__8; | |
+static PyObject *__pyx_tuple__14; | |
+static PyObject *__pyx_tuple__18; | |
static PyObject *__pyx_tuple__20; | |
-static PyObject *__pyx_tuple__21; | |
static PyObject *__pyx_tuple__22; | |
static PyObject *__pyx_tuple__23; | |
+static PyObject *__pyx_tuple__24; | |
static PyObject *__pyx_tuple__25; | |
static PyObject *__pyx_tuple__27; | |
static PyObject *__pyx_tuple__29; | |
static PyObject *__pyx_tuple__31; | |
static PyObject *__pyx_tuple__33; | |
static PyObject *__pyx_tuple__35; | |
-static PyObject *__pyx_tuple__36; | |
+static PyObject *__pyx_tuple__37; | |
static PyObject *__pyx_tuple__38; | |
static PyObject *__pyx_tuple__40; | |
-static PyObject *__pyx_tuple__43; | |
+static PyObject *__pyx_tuple__42; | |
static PyObject *__pyx_tuple__45; | |
-static PyObject *__pyx_tuple__46; | |
+static PyObject *__pyx_tuple__47; | |
static PyObject *__pyx_tuple__48; | |
static PyObject *__pyx_tuple__50; | |
static PyObject *__pyx_tuple__52; | |
-static PyObject *__pyx_tuple__53; | |
+static PyObject *__pyx_tuple__54; | |
static PyObject *__pyx_tuple__55; | |
static PyObject *__pyx_tuple__57; | |
-static PyObject *__pyx_tuple__58; | |
+static PyObject *__pyx_tuple__59; | |
static PyObject *__pyx_tuple__60; | |
static PyObject *__pyx_tuple__62; | |
static PyObject *__pyx_tuple__64; | |
static PyObject *__pyx_tuple__66; | |
static PyObject *__pyx_tuple__68; | |
-static PyObject *__pyx_tuple__69; | |
+static PyObject *__pyx_tuple__70; | |
static PyObject *__pyx_tuple__71; | |
static PyObject *__pyx_tuple__73; | |
static PyObject *__pyx_tuple__75; | |
@@ -2831,8 +2895,8 @@ static PyObject *__pyx_tuple__93; | |
static PyObject *__pyx_tuple__95; | |
static PyObject *__pyx_tuple__97; | |
static PyObject *__pyx_tuple__99; | |
-static PyObject *__pyx_codeobj__5; | |
-static PyObject *__pyx_codeobj__8; | |
+static PyObject *__pyx_codeobj__6; | |
+static PyObject *__pyx_codeobj__9; | |
static PyObject *__pyx_tuple__101; | |
static PyObject *__pyx_tuple__103; | |
static PyObject *__pyx_tuple__105; | |
@@ -2848,27 +2912,28 @@ static PyObject *__pyx_tuple__123; | |
static PyObject *__pyx_tuple__125; | |
static PyObject *__pyx_tuple__127; | |
static PyObject *__pyx_tuple__129; | |
-static PyObject *__pyx_codeobj__24; | |
+static PyObject *__pyx_tuple__131; | |
+static PyObject *__pyx_tuple__133; | |
static PyObject *__pyx_codeobj__26; | |
static PyObject *__pyx_codeobj__28; | |
static PyObject *__pyx_codeobj__30; | |
static PyObject *__pyx_codeobj__32; | |
static PyObject *__pyx_codeobj__34; | |
-static PyObject *__pyx_codeobj__37; | |
+static PyObject *__pyx_codeobj__36; | |
static PyObject *__pyx_codeobj__39; | |
static PyObject *__pyx_codeobj__41; | |
-static PyObject *__pyx_codeobj__44; | |
-static PyObject *__pyx_codeobj__47; | |
+static PyObject *__pyx_codeobj__43; | |
+static PyObject *__pyx_codeobj__46; | |
static PyObject *__pyx_codeobj__49; | |
static PyObject *__pyx_codeobj__51; | |
-static PyObject *__pyx_codeobj__54; | |
+static PyObject *__pyx_codeobj__53; | |
static PyObject *__pyx_codeobj__56; | |
-static PyObject *__pyx_codeobj__59; | |
+static PyObject *__pyx_codeobj__58; | |
static PyObject *__pyx_codeobj__61; | |
static PyObject *__pyx_codeobj__63; | |
static PyObject *__pyx_codeobj__65; | |
static PyObject *__pyx_codeobj__67; | |
-static PyObject *__pyx_codeobj__70; | |
+static PyObject *__pyx_codeobj__69; | |
static PyObject *__pyx_codeobj__72; | |
static PyObject *__pyx_codeobj__74; | |
static PyObject *__pyx_codeobj__76; | |
@@ -2899,6 +2964,8 @@ static PyObject *__pyx_codeobj__124; | |
static PyObject *__pyx_codeobj__126; | |
static PyObject *__pyx_codeobj__128; | |
static PyObject *__pyx_codeobj__130; | |
+static PyObject *__pyx_codeobj__132; | |
+static PyObject *__pyx_codeobj__134; | |
#endif | |
/* #### Code section: late_includes ### */ | |
/* #### Code section: module_state ### */ | |
@@ -2942,9 +3009,12 @@ typedef struct { | |
PyObject *__pyx_kp_u_0_return_return_values_1; | |
PyObject *__pyx_kp_u_A_Za_z__A_Za_z0_9; | |
PyObject *__pyx_kp_s_A_dict_like_class_for_storing_fi; | |
+ PyObject *__pyx_n_s_Any; | |
PyObject *__pyx_n_s_AssertionError; | |
PyObject *__pyx_n_s_AttributeError; | |
PyObject *__pyx_n_s_BUILTIN; | |
+ PyObject *__pyx_n_s_Callable; | |
+ PyObject *__pyx_kp_s_Callable_2; | |
PyObject *__pyx_kp_u_Cannot_instantiate_converter; | |
PyObject *__pyx_n_s_CompiledRouter; | |
PyObject *__pyx_n_s_CompiledRouterNode; | |
@@ -2953,6 +3023,7 @@ typedef struct { | |
PyObject *__pyx_n_s_CompiledRouterNode_conflicts_wit; | |
PyObject *__pyx_n_s_CompiledRouterNode_matches; | |
PyObject *__pyx_n_s_CompiledRouterOptions; | |
+ PyObject *__pyx_kp_s_CompiledRouterOptions_2; | |
PyObject *__pyx_n_s_CompiledRouterOptions___init; | |
PyObject *__pyx_n_s_CompiledRouterOptions___init___l; | |
PyObject *__pyx_n_s_CompiledRouter___init; | |
@@ -2976,6 +3047,11 @@ typedef struct { | |
PyObject *__pyx_n_s_ConverterDict___setitem; | |
PyObject *__pyx_n_s_ConverterDict__validate; | |
PyObject *__pyx_n_s_ConverterDict_update; | |
+ PyObject *__pyx_n_s_CxChild; | |
+ PyObject *__pyx_n_u_CxChild; | |
+ PyObject *__pyx_n_s_CxChild_src; | |
+ PyObject *__pyx_n_s_CxElement; | |
+ PyObject *__pyx_kp_s_CxElement_2; | |
PyObject *__pyx_n_s_CxIfConverterField; | |
PyObject *__pyx_n_s_CxIfConverterField___init; | |
PyObject *__pyx_n_s_CxIfConverterField_src; | |
@@ -2989,6 +3065,8 @@ typedef struct { | |
PyObject *__pyx_n_s_CxIfPathSegmentPattern___init; | |
PyObject *__pyx_n_s_CxIfPathSegmentPattern_src; | |
PyObject *__pyx_n_s_CxParent; | |
+ PyObject *__pyx_n_u_CxParent; | |
+ PyObject *__pyx_kp_s_CxParent_2; | |
PyObject *__pyx_n_s_CxParent___init; | |
PyObject *__pyx_n_s_CxParent__children_src; | |
PyObject *__pyx_n_s_CxParent_append_child; | |
@@ -3022,6 +3100,7 @@ typedef struct { | |
PyObject *__pyx_n_s_CxVariableFromPatternMatch___in; | |
PyObject *__pyx_n_s_CxVariableFromPatternMatch_src; | |
PyObject *__pyx_kp_s_Defines_a_set_of_configurable_ro; | |
+ PyObject *__pyx_n_s_Dict; | |
PyObject *__pyx_kp_u_FIELD; | |
PyObject *__pyx_n_s_FIELD_PATTERN; | |
PyObject *__pyx_kp_s_Fast_URI_router_which_compiles_i; | |
@@ -3029,31 +3108,49 @@ typedef struct { | |
PyObject *__pyx_kp_u_Field_names_must_be_valid_identi; | |
PyObject *__pyx_n_s_IDENTIFIER_PATTERN; | |
PyObject *__pyx_kp_u_Invalid_converter_name_Names_may; | |
+ PyObject *__pyx_n_s_List; | |
+ PyObject *__pyx_kp_s_List_CompiledRouterNode; | |
+ PyObject *__pyx_kp_s_List_Pattern; | |
+ PyObject *__pyx_kp_s_List__CxElement; | |
PyObject *__pyx_n_s_Lock; | |
PyObject *__pyx_kp_u_Missing_converter_for_field_0; | |
+ PyObject *__pyx_n_s_None; | |
+ PyObject *__pyx_n_s_NotImplementedError; | |
+ PyObject *__pyx_n_s_Optional; | |
+ PyObject *__pyx_kp_s_Optional_Request; | |
+ PyObject *__pyx_kp_s_Optional_dict; | |
+ PyObject *__pyx_kp_s_Optional_object; | |
+ PyObject *__pyx_kp_s_Optional_str; | |
PyObject *__pyx_kp_u_P_2; | |
PyObject *__pyx_kp_u_P_fname_P_cname_sep_P_cname_P_a; | |
+ PyObject *__pyx_n_s_Pattern; | |
PyObject *__pyx_kp_s_Represents_a_single_URI_segment; | |
+ PyObject *__pyx_n_s_Request; | |
+ PyObject *__pyx_n_s_Set; | |
+ PyObject *__pyx_kp_s_Set_str; | |
PyObject *__pyx_n_s_TAB_STR; | |
+ PyObject *__pyx_n_s_TYPE_CHECKING; | |
PyObject *__pyx_kp_u_The_URI_template_for_this_route; | |
PyObject *__pyx_kp_u_The_responder_must_be_a_non_bloc; | |
PyObject *__pyx_kp_u_The_responder_must_be_a_regular; | |
PyObject *__pyx_n_s_TypeError; | |
PyObject *__pyx_kp_u_URI_templates_may_not_include_wh; | |
+ PyObject *__pyx_n_s_Union; | |
PyObject *__pyx_kp_u_Unknown_converter_0; | |
PyObject *__pyx_n_s_UserDict; | |
PyObject *__pyx_n_s_ValueError; | |
PyObject *__pyx_kp_u__10; | |
PyObject *__pyx_kp_u__11; | |
PyObject *__pyx_kp_u__12; | |
- PyObject *__pyx_n_s__131; | |
- PyObject *__pyx_kp_u__14; | |
+ PyObject *__pyx_kp_u__13; | |
+ PyObject *__pyx_n_s__135; | |
PyObject *__pyx_kp_u__15; | |
PyObject *__pyx_kp_u__16; | |
- PyObject *__pyx_n_s__18; | |
- PyObject *__pyx_kp_u__19; | |
- PyObject *__pyx_n_s__42; | |
- PyObject *__pyx_kp_u__9; | |
+ PyObject *__pyx_kp_u__17; | |
+ PyObject *__pyx_n_s__19; | |
+ PyObject *__pyx_kp_u__2; | |
+ PyObject *__pyx_kp_u__21; | |
+ PyObject *__pyx_n_s__44; | |
PyObject *__pyx_n_s_add; | |
PyObject *__pyx_n_s_add_route; | |
PyObject *__pyx_n_s_append; | |
@@ -3066,6 +3163,7 @@ typedef struct { | |
PyObject *__pyx_n_s_ast; | |
PyObject *__pyx_n_u_ast; | |
PyObject *__pyx_n_s_asyncio_coroutines; | |
+ PyObject *__pyx_n_s_bool; | |
PyObject *__pyx_n_s_builtins; | |
PyObject *__pyx_n_s_child; | |
PyObject *__pyx_n_s_children; | |
@@ -3101,9 +3199,16 @@ typedef struct { | |
PyObject *__pyx_n_s_converters_2; | |
PyObject *__pyx_n_u_converters_2; | |
PyObject *__pyx_n_s_copy; | |
+ PyObject *__pyx_n_s_cx_converter; | |
+ PyObject *__pyx_n_s_cx_literal; | |
+ PyObject *__pyx_n_s_cx_path_len; | |
+ PyObject *__pyx_n_s_cx_pattern; | |
+ PyObject *__pyx_n_s_cx_pattern_match; | |
+ PyObject *__pyx_n_s_cx_segment; | |
PyObject *__pyx_n_s_data; | |
PyObject *__pyx_kp_u_def_find_path_return_values_patt; | |
PyObject *__pyx_n_s_dict; | |
+ PyObject *__pyx_n_s_dict_2; | |
PyObject *__pyx_kp_u_dict_groups__0; | |
PyObject *__pyx_kp_u_dict_match__0; | |
PyObject *__pyx_n_s_dict_value_name; | |
@@ -3118,6 +3223,7 @@ typedef struct { | |
PyObject *__pyx_n_s_eval; | |
PyObject *__pyx_n_u_exec; | |
PyObject *__pyx_n_s_exit; | |
+ PyObject *__pyx_n_s_falcon_request; | |
PyObject *__pyx_n_s_falcon_routing; | |
PyObject *__pyx_n_s_falcon_routing_compiled; | |
PyObject *__pyx_kp_s_falcon_routing_compiled_py; | |
@@ -3160,6 +3266,7 @@ typedef struct { | |
PyObject *__pyx_n_s_insert; | |
PyObject *__pyx_n_s_inspect; | |
PyObject *__pyx_n_s_instantiate_converter; | |
+ PyObject *__pyx_n_s_int; | |
PyObject *__pyx_n_s_is_complex; | |
PyObject *__pyx_n_s_is_coroutine; | |
PyObject *__pyx_n_s_is_identifier; | |
@@ -3179,7 +3286,6 @@ typedef struct { | |
PyObject *__pyx_n_s_let; | |
PyObject *__pyx_n_s_level; | |
PyObject *__pyx_n_s_lines; | |
- PyObject *__pyx_n_s_list; | |
PyObject *__pyx_n_s_literal; | |
PyObject *__pyx_n_s_literal_2; | |
PyObject *__pyx_n_s_lstrip; | |
@@ -3203,6 +3309,7 @@ typedef struct { | |
PyObject *__pyx_n_s_node_2; | |
PyObject *__pyx_n_s_nodes; | |
PyObject *__pyx_n_s_num_fields; | |
+ PyObject *__pyx_n_s_object; | |
PyObject *__pyx_n_s_options; | |
PyObject *__pyx_n_u_options; | |
PyObject *__pyx_n_s_options_2; | |
@@ -3236,6 +3343,7 @@ typedef struct { | |
PyObject *__pyx_n_s_resource; | |
PyObject *__pyx_n_s_resource_idx; | |
PyObject *__pyx_n_s_responder; | |
+ PyObject *__pyx_n_s_return; | |
PyObject *__pyx_kp_u_return_None; | |
PyObject *__pyx_n_s_return_values; | |
PyObject *__pyx_n_u_return_values; | |
@@ -3253,7 +3361,6 @@ typedef struct { | |
PyObject *__pyx_n_s_set_default_responders; | |
PyObject *__pyx_n_s_set_name; | |
PyObject *__pyx_n_s_setitem; | |
- PyObject *__pyx_n_s_setter; | |
PyObject *__pyx_n_s_should_wrap_non_coroutines; | |
PyObject *__pyx_n_s_slots; | |
PyObject *__pyx_n_s_sorted; | |
@@ -3262,6 +3369,7 @@ typedef struct { | |
PyObject *__pyx_n_s_split; | |
PyObject *__pyx_n_s_src; | |
PyObject *__pyx_n_s_src_lines; | |
+ PyObject *__pyx_n_s_str; | |
PyObject *__pyx_kp_u_string; | |
PyObject *__pyx_n_s_sub; | |
PyObject *__pyx_n_s_suffix; | |
@@ -3271,6 +3379,7 @@ typedef struct { | |
PyObject *__pyx_n_s_test; | |
PyObject *__pyx_n_s_threading; | |
PyObject *__pyx_n_s_throw; | |
+ PyObject *__pyx_n_s_typing; | |
PyObject *__pyx_n_s_unique_idx; | |
PyObject *__pyx_n_s_unique_idx_2; | |
PyObject *__pyx_n_s_update; | |
@@ -3289,42 +3398,42 @@ typedef struct { | |
PyObject *__pyx_n_s_wrap_sync_to_async; | |
PyObject *__pyx_int_0; | |
PyObject *__pyx_int_1; | |
- PyObject *__pyx_tuple__2; | |
PyObject *__pyx_tuple__3; | |
PyObject *__pyx_tuple__4; | |
- PyObject *__pyx_tuple__6; | |
+ PyObject *__pyx_tuple__5; | |
PyObject *__pyx_tuple__7; | |
- PyObject *__pyx_tuple__13; | |
- PyObject *__pyx_tuple__17; | |
+ PyObject *__pyx_tuple__8; | |
+ PyObject *__pyx_tuple__14; | |
+ PyObject *__pyx_tuple__18; | |
PyObject *__pyx_tuple__20; | |
- PyObject *__pyx_tuple__21; | |
PyObject *__pyx_tuple__22; | |
PyObject *__pyx_tuple__23; | |
+ PyObject *__pyx_tuple__24; | |
PyObject *__pyx_tuple__25; | |
PyObject *__pyx_tuple__27; | |
PyObject *__pyx_tuple__29; | |
PyObject *__pyx_tuple__31; | |
PyObject *__pyx_tuple__33; | |
PyObject *__pyx_tuple__35; | |
- PyObject *__pyx_tuple__36; | |
+ PyObject *__pyx_tuple__37; | |
PyObject *__pyx_tuple__38; | |
PyObject *__pyx_tuple__40; | |
- PyObject *__pyx_tuple__43; | |
+ PyObject *__pyx_tuple__42; | |
PyObject *__pyx_tuple__45; | |
- PyObject *__pyx_tuple__46; | |
+ PyObject *__pyx_tuple__47; | |
PyObject *__pyx_tuple__48; | |
PyObject *__pyx_tuple__50; | |
PyObject *__pyx_tuple__52; | |
- PyObject *__pyx_tuple__53; | |
+ PyObject *__pyx_tuple__54; | |
PyObject *__pyx_tuple__55; | |
PyObject *__pyx_tuple__57; | |
- PyObject *__pyx_tuple__58; | |
+ PyObject *__pyx_tuple__59; | |
PyObject *__pyx_tuple__60; | |
PyObject *__pyx_tuple__62; | |
PyObject *__pyx_tuple__64; | |
PyObject *__pyx_tuple__66; | |
PyObject *__pyx_tuple__68; | |
- PyObject *__pyx_tuple__69; | |
+ PyObject *__pyx_tuple__70; | |
PyObject *__pyx_tuple__71; | |
PyObject *__pyx_tuple__73; | |
PyObject *__pyx_tuple__75; | |
@@ -3340,8 +3449,8 @@ typedef struct { | |
PyObject *__pyx_tuple__95; | |
PyObject *__pyx_tuple__97; | |
PyObject *__pyx_tuple__99; | |
- PyObject *__pyx_codeobj__5; | |
- PyObject *__pyx_codeobj__8; | |
+ PyObject *__pyx_codeobj__6; | |
+ PyObject *__pyx_codeobj__9; | |
PyObject *__pyx_tuple__101; | |
PyObject *__pyx_tuple__103; | |
PyObject *__pyx_tuple__105; | |
@@ -3357,27 +3466,28 @@ typedef struct { | |
PyObject *__pyx_tuple__125; | |
PyObject *__pyx_tuple__127; | |
PyObject *__pyx_tuple__129; | |
- PyObject *__pyx_codeobj__24; | |
+ PyObject *__pyx_tuple__131; | |
+ PyObject *__pyx_tuple__133; | |
PyObject *__pyx_codeobj__26; | |
PyObject *__pyx_codeobj__28; | |
PyObject *__pyx_codeobj__30; | |
PyObject *__pyx_codeobj__32; | |
PyObject *__pyx_codeobj__34; | |
- PyObject *__pyx_codeobj__37; | |
+ PyObject *__pyx_codeobj__36; | |
PyObject *__pyx_codeobj__39; | |
PyObject *__pyx_codeobj__41; | |
- PyObject *__pyx_codeobj__44; | |
- PyObject *__pyx_codeobj__47; | |
+ PyObject *__pyx_codeobj__43; | |
+ PyObject *__pyx_codeobj__46; | |
PyObject *__pyx_codeobj__49; | |
PyObject *__pyx_codeobj__51; | |
- PyObject *__pyx_codeobj__54; | |
+ PyObject *__pyx_codeobj__53; | |
PyObject *__pyx_codeobj__56; | |
- PyObject *__pyx_codeobj__59; | |
+ PyObject *__pyx_codeobj__58; | |
PyObject *__pyx_codeobj__61; | |
PyObject *__pyx_codeobj__63; | |
PyObject *__pyx_codeobj__65; | |
PyObject *__pyx_codeobj__67; | |
- PyObject *__pyx_codeobj__70; | |
+ PyObject *__pyx_codeobj__69; | |
PyObject *__pyx_codeobj__72; | |
PyObject *__pyx_codeobj__74; | |
PyObject *__pyx_codeobj__76; | |
@@ -3408,6 +3518,8 @@ typedef struct { | |
PyObject *__pyx_codeobj__126; | |
PyObject *__pyx_codeobj__128; | |
PyObject *__pyx_codeobj__130; | |
+ PyObject *__pyx_codeobj__132; | |
+ PyObject *__pyx_codeobj__134; | |
} __pyx_mstate; | |
#ifdef __cplusplus | |
@@ -3467,9 +3579,12 @@ static int __pyx_m_clear(PyObject *m) { | |
Py_CLEAR(clear_module_state->__pyx_kp_u_0_return_return_values_1); | |
Py_CLEAR(clear_module_state->__pyx_kp_u_A_Za_z__A_Za_z0_9); | |
Py_CLEAR(clear_module_state->__pyx_kp_s_A_dict_like_class_for_storing_fi); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_Any); | |
Py_CLEAR(clear_module_state->__pyx_n_s_AssertionError); | |
Py_CLEAR(clear_module_state->__pyx_n_s_AttributeError); | |
Py_CLEAR(clear_module_state->__pyx_n_s_BUILTIN); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_Callable); | |
+ Py_CLEAR(clear_module_state->__pyx_kp_s_Callable_2); | |
Py_CLEAR(clear_module_state->__pyx_kp_u_Cannot_instantiate_converter); | |
Py_CLEAR(clear_module_state->__pyx_n_s_CompiledRouter); | |
Py_CLEAR(clear_module_state->__pyx_n_s_CompiledRouterNode); | |
@@ -3478,6 +3593,7 @@ static int __pyx_m_clear(PyObject *m) { | |
Py_CLEAR(clear_module_state->__pyx_n_s_CompiledRouterNode_conflicts_wit); | |
Py_CLEAR(clear_module_state->__pyx_n_s_CompiledRouterNode_matches); | |
Py_CLEAR(clear_module_state->__pyx_n_s_CompiledRouterOptions); | |
+ Py_CLEAR(clear_module_state->__pyx_kp_s_CompiledRouterOptions_2); | |
Py_CLEAR(clear_module_state->__pyx_n_s_CompiledRouterOptions___init); | |
Py_CLEAR(clear_module_state->__pyx_n_s_CompiledRouterOptions___init___l); | |
Py_CLEAR(clear_module_state->__pyx_n_s_CompiledRouter___init); | |
@@ -3501,6 +3617,11 @@ static int __pyx_m_clear(PyObject *m) { | |
Py_CLEAR(clear_module_state->__pyx_n_s_ConverterDict___setitem); | |
Py_CLEAR(clear_module_state->__pyx_n_s_ConverterDict__validate); | |
Py_CLEAR(clear_module_state->__pyx_n_s_ConverterDict_update); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_CxChild); | |
+ Py_CLEAR(clear_module_state->__pyx_n_u_CxChild); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_CxChild_src); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_CxElement); | |
+ Py_CLEAR(clear_module_state->__pyx_kp_s_CxElement_2); | |
Py_CLEAR(clear_module_state->__pyx_n_s_CxIfConverterField); | |
Py_CLEAR(clear_module_state->__pyx_n_s_CxIfConverterField___init); | |
Py_CLEAR(clear_module_state->__pyx_n_s_CxIfConverterField_src); | |
@@ -3514,6 +3635,8 @@ static int __pyx_m_clear(PyObject *m) { | |
Py_CLEAR(clear_module_state->__pyx_n_s_CxIfPathSegmentPattern___init); | |
Py_CLEAR(clear_module_state->__pyx_n_s_CxIfPathSegmentPattern_src); | |
Py_CLEAR(clear_module_state->__pyx_n_s_CxParent); | |
+ Py_CLEAR(clear_module_state->__pyx_n_u_CxParent); | |
+ Py_CLEAR(clear_module_state->__pyx_kp_s_CxParent_2); | |
Py_CLEAR(clear_module_state->__pyx_n_s_CxParent___init); | |
Py_CLEAR(clear_module_state->__pyx_n_s_CxParent__children_src); | |
Py_CLEAR(clear_module_state->__pyx_n_s_CxParent_append_child); | |
@@ -3547,6 +3670,7 @@ static int __pyx_m_clear(PyObject *m) { | |
Py_CLEAR(clear_module_state->__pyx_n_s_CxVariableFromPatternMatch___in); | |
Py_CLEAR(clear_module_state->__pyx_n_s_CxVariableFromPatternMatch_src); | |
Py_CLEAR(clear_module_state->__pyx_kp_s_Defines_a_set_of_configurable_ro); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_Dict); | |
Py_CLEAR(clear_module_state->__pyx_kp_u_FIELD); | |
Py_CLEAR(clear_module_state->__pyx_n_s_FIELD_PATTERN); | |
Py_CLEAR(clear_module_state->__pyx_kp_s_Fast_URI_router_which_compiles_i); | |
@@ -3554,31 +3678,49 @@ static int __pyx_m_clear(PyObject *m) { | |
Py_CLEAR(clear_module_state->__pyx_kp_u_Field_names_must_be_valid_identi); | |
Py_CLEAR(clear_module_state->__pyx_n_s_IDENTIFIER_PATTERN); | |
Py_CLEAR(clear_module_state->__pyx_kp_u_Invalid_converter_name_Names_may); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_List); | |
+ Py_CLEAR(clear_module_state->__pyx_kp_s_List_CompiledRouterNode); | |
+ Py_CLEAR(clear_module_state->__pyx_kp_s_List_Pattern); | |
+ Py_CLEAR(clear_module_state->__pyx_kp_s_List__CxElement); | |
Py_CLEAR(clear_module_state->__pyx_n_s_Lock); | |
Py_CLEAR(clear_module_state->__pyx_kp_u_Missing_converter_for_field_0); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_None); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_NotImplementedError); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_Optional); | |
+ Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_Request); | |
+ Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_dict); | |
+ Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_object); | |
+ Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_str); | |
Py_CLEAR(clear_module_state->__pyx_kp_u_P_2); | |
Py_CLEAR(clear_module_state->__pyx_kp_u_P_fname_P_cname_sep_P_cname_P_a); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_Pattern); | |
Py_CLEAR(clear_module_state->__pyx_kp_s_Represents_a_single_URI_segment); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_Request); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_Set); | |
+ Py_CLEAR(clear_module_state->__pyx_kp_s_Set_str); | |
Py_CLEAR(clear_module_state->__pyx_n_s_TAB_STR); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_TYPE_CHECKING); | |
Py_CLEAR(clear_module_state->__pyx_kp_u_The_URI_template_for_this_route); | |
Py_CLEAR(clear_module_state->__pyx_kp_u_The_responder_must_be_a_non_bloc); | |
Py_CLEAR(clear_module_state->__pyx_kp_u_The_responder_must_be_a_regular); | |
Py_CLEAR(clear_module_state->__pyx_n_s_TypeError); | |
Py_CLEAR(clear_module_state->__pyx_kp_u_URI_templates_may_not_include_wh); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_Union); | |
Py_CLEAR(clear_module_state->__pyx_kp_u_Unknown_converter_0); | |
Py_CLEAR(clear_module_state->__pyx_n_s_UserDict); | |
Py_CLEAR(clear_module_state->__pyx_n_s_ValueError); | |
Py_CLEAR(clear_module_state->__pyx_kp_u__10); | |
Py_CLEAR(clear_module_state->__pyx_kp_u__11); | |
Py_CLEAR(clear_module_state->__pyx_kp_u__12); | |
- Py_CLEAR(clear_module_state->__pyx_n_s__131); | |
- Py_CLEAR(clear_module_state->__pyx_kp_u__14); | |
+ Py_CLEAR(clear_module_state->__pyx_kp_u__13); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s__135); | |
Py_CLEAR(clear_module_state->__pyx_kp_u__15); | |
Py_CLEAR(clear_module_state->__pyx_kp_u__16); | |
- Py_CLEAR(clear_module_state->__pyx_n_s__18); | |
- Py_CLEAR(clear_module_state->__pyx_kp_u__19); | |
- Py_CLEAR(clear_module_state->__pyx_n_s__42); | |
- Py_CLEAR(clear_module_state->__pyx_kp_u__9); | |
+ Py_CLEAR(clear_module_state->__pyx_kp_u__17); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s__19); | |
+ Py_CLEAR(clear_module_state->__pyx_kp_u__2); | |
+ Py_CLEAR(clear_module_state->__pyx_kp_u__21); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s__44); | |
Py_CLEAR(clear_module_state->__pyx_n_s_add); | |
Py_CLEAR(clear_module_state->__pyx_n_s_add_route); | |
Py_CLEAR(clear_module_state->__pyx_n_s_append); | |
@@ -3591,6 +3733,7 @@ static int __pyx_m_clear(PyObject *m) { | |
Py_CLEAR(clear_module_state->__pyx_n_s_ast); | |
Py_CLEAR(clear_module_state->__pyx_n_u_ast); | |
Py_CLEAR(clear_module_state->__pyx_n_s_asyncio_coroutines); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_bool); | |
Py_CLEAR(clear_module_state->__pyx_n_s_builtins); | |
Py_CLEAR(clear_module_state->__pyx_n_s_child); | |
Py_CLEAR(clear_module_state->__pyx_n_s_children); | |
@@ -3626,9 +3769,16 @@ static int __pyx_m_clear(PyObject *m) { | |
Py_CLEAR(clear_module_state->__pyx_n_s_converters_2); | |
Py_CLEAR(clear_module_state->__pyx_n_u_converters_2); | |
Py_CLEAR(clear_module_state->__pyx_n_s_copy); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_cx_converter); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_cx_literal); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_cx_path_len); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_cx_pattern); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_cx_pattern_match); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_cx_segment); | |
Py_CLEAR(clear_module_state->__pyx_n_s_data); | |
Py_CLEAR(clear_module_state->__pyx_kp_u_def_find_path_return_values_patt); | |
Py_CLEAR(clear_module_state->__pyx_n_s_dict); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_dict_2); | |
Py_CLEAR(clear_module_state->__pyx_kp_u_dict_groups__0); | |
Py_CLEAR(clear_module_state->__pyx_kp_u_dict_match__0); | |
Py_CLEAR(clear_module_state->__pyx_n_s_dict_value_name); | |
@@ -3643,6 +3793,7 @@ static int __pyx_m_clear(PyObject *m) { | |
Py_CLEAR(clear_module_state->__pyx_n_s_eval); | |
Py_CLEAR(clear_module_state->__pyx_n_u_exec); | |
Py_CLEAR(clear_module_state->__pyx_n_s_exit); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_falcon_request); | |
Py_CLEAR(clear_module_state->__pyx_n_s_falcon_routing); | |
Py_CLEAR(clear_module_state->__pyx_n_s_falcon_routing_compiled); | |
Py_CLEAR(clear_module_state->__pyx_kp_s_falcon_routing_compiled_py); | |
@@ -3685,6 +3836,7 @@ static int __pyx_m_clear(PyObject *m) { | |
Py_CLEAR(clear_module_state->__pyx_n_s_insert); | |
Py_CLEAR(clear_module_state->__pyx_n_s_inspect); | |
Py_CLEAR(clear_module_state->__pyx_n_s_instantiate_converter); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_int); | |
Py_CLEAR(clear_module_state->__pyx_n_s_is_complex); | |
Py_CLEAR(clear_module_state->__pyx_n_s_is_coroutine); | |
Py_CLEAR(clear_module_state->__pyx_n_s_is_identifier); | |
@@ -3704,7 +3856,6 @@ static int __pyx_m_clear(PyObject *m) { | |
Py_CLEAR(clear_module_state->__pyx_n_s_let); | |
Py_CLEAR(clear_module_state->__pyx_n_s_level); | |
Py_CLEAR(clear_module_state->__pyx_n_s_lines); | |
- Py_CLEAR(clear_module_state->__pyx_n_s_list); | |
Py_CLEAR(clear_module_state->__pyx_n_s_literal); | |
Py_CLEAR(clear_module_state->__pyx_n_s_literal_2); | |
Py_CLEAR(clear_module_state->__pyx_n_s_lstrip); | |
@@ -3728,6 +3879,7 @@ static int __pyx_m_clear(PyObject *m) { | |
Py_CLEAR(clear_module_state->__pyx_n_s_node_2); | |
Py_CLEAR(clear_module_state->__pyx_n_s_nodes); | |
Py_CLEAR(clear_module_state->__pyx_n_s_num_fields); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_object); | |
Py_CLEAR(clear_module_state->__pyx_n_s_options); | |
Py_CLEAR(clear_module_state->__pyx_n_u_options); | |
Py_CLEAR(clear_module_state->__pyx_n_s_options_2); | |
@@ -3761,6 +3913,7 @@ static int __pyx_m_clear(PyObject *m) { | |
Py_CLEAR(clear_module_state->__pyx_n_s_resource); | |
Py_CLEAR(clear_module_state->__pyx_n_s_resource_idx); | |
Py_CLEAR(clear_module_state->__pyx_n_s_responder); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_return); | |
Py_CLEAR(clear_module_state->__pyx_kp_u_return_None); | |
Py_CLEAR(clear_module_state->__pyx_n_s_return_values); | |
Py_CLEAR(clear_module_state->__pyx_n_u_return_values); | |
@@ -3778,7 +3931,6 @@ static int __pyx_m_clear(PyObject *m) { | |
Py_CLEAR(clear_module_state->__pyx_n_s_set_default_responders); | |
Py_CLEAR(clear_module_state->__pyx_n_s_set_name); | |
Py_CLEAR(clear_module_state->__pyx_n_s_setitem); | |
- Py_CLEAR(clear_module_state->__pyx_n_s_setter); | |
Py_CLEAR(clear_module_state->__pyx_n_s_should_wrap_non_coroutines); | |
Py_CLEAR(clear_module_state->__pyx_n_s_slots); | |
Py_CLEAR(clear_module_state->__pyx_n_s_sorted); | |
@@ -3787,6 +3939,7 @@ static int __pyx_m_clear(PyObject *m) { | |
Py_CLEAR(clear_module_state->__pyx_n_s_split); | |
Py_CLEAR(clear_module_state->__pyx_n_s_src); | |
Py_CLEAR(clear_module_state->__pyx_n_s_src_lines); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_str); | |
Py_CLEAR(clear_module_state->__pyx_kp_u_string); | |
Py_CLEAR(clear_module_state->__pyx_n_s_sub); | |
Py_CLEAR(clear_module_state->__pyx_n_s_suffix); | |
@@ -3796,6 +3949,7 @@ static int __pyx_m_clear(PyObject *m) { | |
Py_CLEAR(clear_module_state->__pyx_n_s_test); | |
Py_CLEAR(clear_module_state->__pyx_n_s_threading); | |
Py_CLEAR(clear_module_state->__pyx_n_s_throw); | |
+ Py_CLEAR(clear_module_state->__pyx_n_s_typing); | |
Py_CLEAR(clear_module_state->__pyx_n_s_unique_idx); | |
Py_CLEAR(clear_module_state->__pyx_n_s_unique_idx_2); | |
Py_CLEAR(clear_module_state->__pyx_n_s_update); | |
@@ -3814,42 +3968,42 @@ static int __pyx_m_clear(PyObject *m) { | |
Py_CLEAR(clear_module_state->__pyx_n_s_wrap_sync_to_async); | |
Py_CLEAR(clear_module_state->__pyx_int_0); | |
Py_CLEAR(clear_module_state->__pyx_int_1); | |
- Py_CLEAR(clear_module_state->__pyx_tuple__2); | |
Py_CLEAR(clear_module_state->__pyx_tuple__3); | |
Py_CLEAR(clear_module_state->__pyx_tuple__4); | |
- Py_CLEAR(clear_module_state->__pyx_tuple__6); | |
+ Py_CLEAR(clear_module_state->__pyx_tuple__5); | |
Py_CLEAR(clear_module_state->__pyx_tuple__7); | |
- Py_CLEAR(clear_module_state->__pyx_tuple__13); | |
- Py_CLEAR(clear_module_state->__pyx_tuple__17); | |
+ Py_CLEAR(clear_module_state->__pyx_tuple__8); | |
+ Py_CLEAR(clear_module_state->__pyx_tuple__14); | |
+ Py_CLEAR(clear_module_state->__pyx_tuple__18); | |
Py_CLEAR(clear_module_state->__pyx_tuple__20); | |
- Py_CLEAR(clear_module_state->__pyx_tuple__21); | |
Py_CLEAR(clear_module_state->__pyx_tuple__22); | |
Py_CLEAR(clear_module_state->__pyx_tuple__23); | |
+ Py_CLEAR(clear_module_state->__pyx_tuple__24); | |
Py_CLEAR(clear_module_state->__pyx_tuple__25); | |
Py_CLEAR(clear_module_state->__pyx_tuple__27); | |
Py_CLEAR(clear_module_state->__pyx_tuple__29); | |
Py_CLEAR(clear_module_state->__pyx_tuple__31); | |
Py_CLEAR(clear_module_state->__pyx_tuple__33); | |
Py_CLEAR(clear_module_state->__pyx_tuple__35); | |
- Py_CLEAR(clear_module_state->__pyx_tuple__36); | |
+ Py_CLEAR(clear_module_state->__pyx_tuple__37); | |
Py_CLEAR(clear_module_state->__pyx_tuple__38); | |
Py_CLEAR(clear_module_state->__pyx_tuple__40); | |
- Py_CLEAR(clear_module_state->__pyx_tuple__43); | |
+ Py_CLEAR(clear_module_state->__pyx_tuple__42); | |
Py_CLEAR(clear_module_state->__pyx_tuple__45); | |
- Py_CLEAR(clear_module_state->__pyx_tuple__46); | |
+ Py_CLEAR(clear_module_state->__pyx_tuple__47); | |
Py_CLEAR(clear_module_state->__pyx_tuple__48); | |
Py_CLEAR(clear_module_state->__pyx_tuple__50); | |
Py_CLEAR(clear_module_state->__pyx_tuple__52); | |
- Py_CLEAR(clear_module_state->__pyx_tuple__53); | |
+ Py_CLEAR(clear_module_state->__pyx_tuple__54); | |
Py_CLEAR(clear_module_state->__pyx_tuple__55); | |
Py_CLEAR(clear_module_state->__pyx_tuple__57); | |
- Py_CLEAR(clear_module_state->__pyx_tuple__58); | |
+ Py_CLEAR(clear_module_state->__pyx_tuple__59); | |
Py_CLEAR(clear_module_state->__pyx_tuple__60); | |
Py_CLEAR(clear_module_state->__pyx_tuple__62); | |
Py_CLEAR(clear_module_state->__pyx_tuple__64); | |
Py_CLEAR(clear_module_state->__pyx_tuple__66); | |
Py_CLEAR(clear_module_state->__pyx_tuple__68); | |
- Py_CLEAR(clear_module_state->__pyx_tuple__69); | |
+ Py_CLEAR(clear_module_state->__pyx_tuple__70); | |
Py_CLEAR(clear_module_state->__pyx_tuple__71); | |
Py_CLEAR(clear_module_state->__pyx_tuple__73); | |
Py_CLEAR(clear_module_state->__pyx_tuple__75); | |
@@ -3865,8 +4019,8 @@ static int __pyx_m_clear(PyObject *m) { | |
Py_CLEAR(clear_module_state->__pyx_tuple__95); | |
Py_CLEAR(clear_module_state->__pyx_tuple__97); | |
Py_CLEAR(clear_module_state->__pyx_tuple__99); | |
- Py_CLEAR(clear_module_state->__pyx_codeobj__5); | |
- Py_CLEAR(clear_module_state->__pyx_codeobj__8); | |
+ Py_CLEAR(clear_module_state->__pyx_codeobj__6); | |
+ Py_CLEAR(clear_module_state->__pyx_codeobj__9); | |
Py_CLEAR(clear_module_state->__pyx_tuple__101); | |
Py_CLEAR(clear_module_state->__pyx_tuple__103); | |
Py_CLEAR(clear_module_state->__pyx_tuple__105); | |
@@ -3882,27 +4036,28 @@ static int __pyx_m_clear(PyObject *m) { | |
Py_CLEAR(clear_module_state->__pyx_tuple__125); | |
Py_CLEAR(clear_module_state->__pyx_tuple__127); | |
Py_CLEAR(clear_module_state->__pyx_tuple__129); | |
- Py_CLEAR(clear_module_state->__pyx_codeobj__24); | |
+ Py_CLEAR(clear_module_state->__pyx_tuple__131); | |
+ Py_CLEAR(clear_module_state->__pyx_tuple__133); | |
Py_CLEAR(clear_module_state->__pyx_codeobj__26); | |
Py_CLEAR(clear_module_state->__pyx_codeobj__28); | |
Py_CLEAR(clear_module_state->__pyx_codeobj__30); | |
Py_CLEAR(clear_module_state->__pyx_codeobj__32); | |
Py_CLEAR(clear_module_state->__pyx_codeobj__34); | |
- Py_CLEAR(clear_module_state->__pyx_codeobj__37); | |
+ Py_CLEAR(clear_module_state->__pyx_codeobj__36); | |
Py_CLEAR(clear_module_state->__pyx_codeobj__39); | |
Py_CLEAR(clear_module_state->__pyx_codeobj__41); | |
- Py_CLEAR(clear_module_state->__pyx_codeobj__44); | |
- Py_CLEAR(clear_module_state->__pyx_codeobj__47); | |
+ Py_CLEAR(clear_module_state->__pyx_codeobj__43); | |
+ Py_CLEAR(clear_module_state->__pyx_codeobj__46); | |
Py_CLEAR(clear_module_state->__pyx_codeobj__49); | |
Py_CLEAR(clear_module_state->__pyx_codeobj__51); | |
- Py_CLEAR(clear_module_state->__pyx_codeobj__54); | |
+ Py_CLEAR(clear_module_state->__pyx_codeobj__53); | |
Py_CLEAR(clear_module_state->__pyx_codeobj__56); | |
- Py_CLEAR(clear_module_state->__pyx_codeobj__59); | |
+ Py_CLEAR(clear_module_state->__pyx_codeobj__58); | |
Py_CLEAR(clear_module_state->__pyx_codeobj__61); | |
Py_CLEAR(clear_module_state->__pyx_codeobj__63); | |
Py_CLEAR(clear_module_state->__pyx_codeobj__65); | |
Py_CLEAR(clear_module_state->__pyx_codeobj__67); | |
- Py_CLEAR(clear_module_state->__pyx_codeobj__70); | |
+ Py_CLEAR(clear_module_state->__pyx_codeobj__69); | |
Py_CLEAR(clear_module_state->__pyx_codeobj__72); | |
Py_CLEAR(clear_module_state->__pyx_codeobj__74); | |
Py_CLEAR(clear_module_state->__pyx_codeobj__76); | |
@@ -3933,6 +4088,8 @@ static int __pyx_m_clear(PyObject *m) { | |
Py_CLEAR(clear_module_state->__pyx_codeobj__126); | |
Py_CLEAR(clear_module_state->__pyx_codeobj__128); | |
Py_CLEAR(clear_module_state->__pyx_codeobj__130); | |
+ Py_CLEAR(clear_module_state->__pyx_codeobj__132); | |
+ Py_CLEAR(clear_module_state->__pyx_codeobj__134); | |
return 0; | |
} | |
#endif | |
@@ -3979,9 +4136,12 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
Py_VISIT(traverse_module_state->__pyx_kp_u_0_return_return_values_1); | |
Py_VISIT(traverse_module_state->__pyx_kp_u_A_Za_z__A_Za_z0_9); | |
Py_VISIT(traverse_module_state->__pyx_kp_s_A_dict_like_class_for_storing_fi); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_Any); | |
Py_VISIT(traverse_module_state->__pyx_n_s_AssertionError); | |
Py_VISIT(traverse_module_state->__pyx_n_s_AttributeError); | |
Py_VISIT(traverse_module_state->__pyx_n_s_BUILTIN); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_Callable); | |
+ Py_VISIT(traverse_module_state->__pyx_kp_s_Callable_2); | |
Py_VISIT(traverse_module_state->__pyx_kp_u_Cannot_instantiate_converter); | |
Py_VISIT(traverse_module_state->__pyx_n_s_CompiledRouter); | |
Py_VISIT(traverse_module_state->__pyx_n_s_CompiledRouterNode); | |
@@ -3990,6 +4150,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
Py_VISIT(traverse_module_state->__pyx_n_s_CompiledRouterNode_conflicts_wit); | |
Py_VISIT(traverse_module_state->__pyx_n_s_CompiledRouterNode_matches); | |
Py_VISIT(traverse_module_state->__pyx_n_s_CompiledRouterOptions); | |
+ Py_VISIT(traverse_module_state->__pyx_kp_s_CompiledRouterOptions_2); | |
Py_VISIT(traverse_module_state->__pyx_n_s_CompiledRouterOptions___init); | |
Py_VISIT(traverse_module_state->__pyx_n_s_CompiledRouterOptions___init___l); | |
Py_VISIT(traverse_module_state->__pyx_n_s_CompiledRouter___init); | |
@@ -4013,6 +4174,11 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
Py_VISIT(traverse_module_state->__pyx_n_s_ConverterDict___setitem); | |
Py_VISIT(traverse_module_state->__pyx_n_s_ConverterDict__validate); | |
Py_VISIT(traverse_module_state->__pyx_n_s_ConverterDict_update); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_CxChild); | |
+ Py_VISIT(traverse_module_state->__pyx_n_u_CxChild); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_CxChild_src); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_CxElement); | |
+ Py_VISIT(traverse_module_state->__pyx_kp_s_CxElement_2); | |
Py_VISIT(traverse_module_state->__pyx_n_s_CxIfConverterField); | |
Py_VISIT(traverse_module_state->__pyx_n_s_CxIfConverterField___init); | |
Py_VISIT(traverse_module_state->__pyx_n_s_CxIfConverterField_src); | |
@@ -4026,6 +4192,8 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
Py_VISIT(traverse_module_state->__pyx_n_s_CxIfPathSegmentPattern___init); | |
Py_VISIT(traverse_module_state->__pyx_n_s_CxIfPathSegmentPattern_src); | |
Py_VISIT(traverse_module_state->__pyx_n_s_CxParent); | |
+ Py_VISIT(traverse_module_state->__pyx_n_u_CxParent); | |
+ Py_VISIT(traverse_module_state->__pyx_kp_s_CxParent_2); | |
Py_VISIT(traverse_module_state->__pyx_n_s_CxParent___init); | |
Py_VISIT(traverse_module_state->__pyx_n_s_CxParent__children_src); | |
Py_VISIT(traverse_module_state->__pyx_n_s_CxParent_append_child); | |
@@ -4059,6 +4227,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
Py_VISIT(traverse_module_state->__pyx_n_s_CxVariableFromPatternMatch___in); | |
Py_VISIT(traverse_module_state->__pyx_n_s_CxVariableFromPatternMatch_src); | |
Py_VISIT(traverse_module_state->__pyx_kp_s_Defines_a_set_of_configurable_ro); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_Dict); | |
Py_VISIT(traverse_module_state->__pyx_kp_u_FIELD); | |
Py_VISIT(traverse_module_state->__pyx_n_s_FIELD_PATTERN); | |
Py_VISIT(traverse_module_state->__pyx_kp_s_Fast_URI_router_which_compiles_i); | |
@@ -4066,31 +4235,49 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
Py_VISIT(traverse_module_state->__pyx_kp_u_Field_names_must_be_valid_identi); | |
Py_VISIT(traverse_module_state->__pyx_n_s_IDENTIFIER_PATTERN); | |
Py_VISIT(traverse_module_state->__pyx_kp_u_Invalid_converter_name_Names_may); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_List); | |
+ Py_VISIT(traverse_module_state->__pyx_kp_s_List_CompiledRouterNode); | |
+ Py_VISIT(traverse_module_state->__pyx_kp_s_List_Pattern); | |
+ Py_VISIT(traverse_module_state->__pyx_kp_s_List__CxElement); | |
Py_VISIT(traverse_module_state->__pyx_n_s_Lock); | |
Py_VISIT(traverse_module_state->__pyx_kp_u_Missing_converter_for_field_0); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_None); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_NotImplementedError); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_Optional); | |
+ Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_Request); | |
+ Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_dict); | |
+ Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_object); | |
+ Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_str); | |
Py_VISIT(traverse_module_state->__pyx_kp_u_P_2); | |
Py_VISIT(traverse_module_state->__pyx_kp_u_P_fname_P_cname_sep_P_cname_P_a); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_Pattern); | |
Py_VISIT(traverse_module_state->__pyx_kp_s_Represents_a_single_URI_segment); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_Request); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_Set); | |
+ Py_VISIT(traverse_module_state->__pyx_kp_s_Set_str); | |
Py_VISIT(traverse_module_state->__pyx_n_s_TAB_STR); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_TYPE_CHECKING); | |
Py_VISIT(traverse_module_state->__pyx_kp_u_The_URI_template_for_this_route); | |
Py_VISIT(traverse_module_state->__pyx_kp_u_The_responder_must_be_a_non_bloc); | |
Py_VISIT(traverse_module_state->__pyx_kp_u_The_responder_must_be_a_regular); | |
Py_VISIT(traverse_module_state->__pyx_n_s_TypeError); | |
Py_VISIT(traverse_module_state->__pyx_kp_u_URI_templates_may_not_include_wh); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_Union); | |
Py_VISIT(traverse_module_state->__pyx_kp_u_Unknown_converter_0); | |
Py_VISIT(traverse_module_state->__pyx_n_s_UserDict); | |
Py_VISIT(traverse_module_state->__pyx_n_s_ValueError); | |
Py_VISIT(traverse_module_state->__pyx_kp_u__10); | |
Py_VISIT(traverse_module_state->__pyx_kp_u__11); | |
Py_VISIT(traverse_module_state->__pyx_kp_u__12); | |
- Py_VISIT(traverse_module_state->__pyx_n_s__131); | |
- Py_VISIT(traverse_module_state->__pyx_kp_u__14); | |
+ Py_VISIT(traverse_module_state->__pyx_kp_u__13); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s__135); | |
Py_VISIT(traverse_module_state->__pyx_kp_u__15); | |
Py_VISIT(traverse_module_state->__pyx_kp_u__16); | |
- Py_VISIT(traverse_module_state->__pyx_n_s__18); | |
- Py_VISIT(traverse_module_state->__pyx_kp_u__19); | |
- Py_VISIT(traverse_module_state->__pyx_n_s__42); | |
- Py_VISIT(traverse_module_state->__pyx_kp_u__9); | |
+ Py_VISIT(traverse_module_state->__pyx_kp_u__17); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s__19); | |
+ Py_VISIT(traverse_module_state->__pyx_kp_u__2); | |
+ Py_VISIT(traverse_module_state->__pyx_kp_u__21); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s__44); | |
Py_VISIT(traverse_module_state->__pyx_n_s_add); | |
Py_VISIT(traverse_module_state->__pyx_n_s_add_route); | |
Py_VISIT(traverse_module_state->__pyx_n_s_append); | |
@@ -4103,6 +4290,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
Py_VISIT(traverse_module_state->__pyx_n_s_ast); | |
Py_VISIT(traverse_module_state->__pyx_n_u_ast); | |
Py_VISIT(traverse_module_state->__pyx_n_s_asyncio_coroutines); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_bool); | |
Py_VISIT(traverse_module_state->__pyx_n_s_builtins); | |
Py_VISIT(traverse_module_state->__pyx_n_s_child); | |
Py_VISIT(traverse_module_state->__pyx_n_s_children); | |
@@ -4138,9 +4326,16 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
Py_VISIT(traverse_module_state->__pyx_n_s_converters_2); | |
Py_VISIT(traverse_module_state->__pyx_n_u_converters_2); | |
Py_VISIT(traverse_module_state->__pyx_n_s_copy); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_cx_converter); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_cx_literal); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_cx_path_len); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_cx_pattern); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_cx_pattern_match); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_cx_segment); | |
Py_VISIT(traverse_module_state->__pyx_n_s_data); | |
Py_VISIT(traverse_module_state->__pyx_kp_u_def_find_path_return_values_patt); | |
Py_VISIT(traverse_module_state->__pyx_n_s_dict); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_dict_2); | |
Py_VISIT(traverse_module_state->__pyx_kp_u_dict_groups__0); | |
Py_VISIT(traverse_module_state->__pyx_kp_u_dict_match__0); | |
Py_VISIT(traverse_module_state->__pyx_n_s_dict_value_name); | |
@@ -4155,6 +4350,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
Py_VISIT(traverse_module_state->__pyx_n_s_eval); | |
Py_VISIT(traverse_module_state->__pyx_n_u_exec); | |
Py_VISIT(traverse_module_state->__pyx_n_s_exit); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_falcon_request); | |
Py_VISIT(traverse_module_state->__pyx_n_s_falcon_routing); | |
Py_VISIT(traverse_module_state->__pyx_n_s_falcon_routing_compiled); | |
Py_VISIT(traverse_module_state->__pyx_kp_s_falcon_routing_compiled_py); | |
@@ -4197,6 +4393,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
Py_VISIT(traverse_module_state->__pyx_n_s_insert); | |
Py_VISIT(traverse_module_state->__pyx_n_s_inspect); | |
Py_VISIT(traverse_module_state->__pyx_n_s_instantiate_converter); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_int); | |
Py_VISIT(traverse_module_state->__pyx_n_s_is_complex); | |
Py_VISIT(traverse_module_state->__pyx_n_s_is_coroutine); | |
Py_VISIT(traverse_module_state->__pyx_n_s_is_identifier); | |
@@ -4216,7 +4413,6 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
Py_VISIT(traverse_module_state->__pyx_n_s_let); | |
Py_VISIT(traverse_module_state->__pyx_n_s_level); | |
Py_VISIT(traverse_module_state->__pyx_n_s_lines); | |
- Py_VISIT(traverse_module_state->__pyx_n_s_list); | |
Py_VISIT(traverse_module_state->__pyx_n_s_literal); | |
Py_VISIT(traverse_module_state->__pyx_n_s_literal_2); | |
Py_VISIT(traverse_module_state->__pyx_n_s_lstrip); | |
@@ -4240,6 +4436,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
Py_VISIT(traverse_module_state->__pyx_n_s_node_2); | |
Py_VISIT(traverse_module_state->__pyx_n_s_nodes); | |
Py_VISIT(traverse_module_state->__pyx_n_s_num_fields); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_object); | |
Py_VISIT(traverse_module_state->__pyx_n_s_options); | |
Py_VISIT(traverse_module_state->__pyx_n_u_options); | |
Py_VISIT(traverse_module_state->__pyx_n_s_options_2); | |
@@ -4273,6 +4470,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
Py_VISIT(traverse_module_state->__pyx_n_s_resource); | |
Py_VISIT(traverse_module_state->__pyx_n_s_resource_idx); | |
Py_VISIT(traverse_module_state->__pyx_n_s_responder); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_return); | |
Py_VISIT(traverse_module_state->__pyx_kp_u_return_None); | |
Py_VISIT(traverse_module_state->__pyx_n_s_return_values); | |
Py_VISIT(traverse_module_state->__pyx_n_u_return_values); | |
@@ -4290,7 +4488,6 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
Py_VISIT(traverse_module_state->__pyx_n_s_set_default_responders); | |
Py_VISIT(traverse_module_state->__pyx_n_s_set_name); | |
Py_VISIT(traverse_module_state->__pyx_n_s_setitem); | |
- Py_VISIT(traverse_module_state->__pyx_n_s_setter); | |
Py_VISIT(traverse_module_state->__pyx_n_s_should_wrap_non_coroutines); | |
Py_VISIT(traverse_module_state->__pyx_n_s_slots); | |
Py_VISIT(traverse_module_state->__pyx_n_s_sorted); | |
@@ -4299,6 +4496,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
Py_VISIT(traverse_module_state->__pyx_n_s_split); | |
Py_VISIT(traverse_module_state->__pyx_n_s_src); | |
Py_VISIT(traverse_module_state->__pyx_n_s_src_lines); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_str); | |
Py_VISIT(traverse_module_state->__pyx_kp_u_string); | |
Py_VISIT(traverse_module_state->__pyx_n_s_sub); | |
Py_VISIT(traverse_module_state->__pyx_n_s_suffix); | |
@@ -4308,6 +4506,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
Py_VISIT(traverse_module_state->__pyx_n_s_test); | |
Py_VISIT(traverse_module_state->__pyx_n_s_threading); | |
Py_VISIT(traverse_module_state->__pyx_n_s_throw); | |
+ Py_VISIT(traverse_module_state->__pyx_n_s_typing); | |
Py_VISIT(traverse_module_state->__pyx_n_s_unique_idx); | |
Py_VISIT(traverse_module_state->__pyx_n_s_unique_idx_2); | |
Py_VISIT(traverse_module_state->__pyx_n_s_update); | |
@@ -4326,42 +4525,42 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
Py_VISIT(traverse_module_state->__pyx_n_s_wrap_sync_to_async); | |
Py_VISIT(traverse_module_state->__pyx_int_0); | |
Py_VISIT(traverse_module_state->__pyx_int_1); | |
- Py_VISIT(traverse_module_state->__pyx_tuple__2); | |
Py_VISIT(traverse_module_state->__pyx_tuple__3); | |
Py_VISIT(traverse_module_state->__pyx_tuple__4); | |
- Py_VISIT(traverse_module_state->__pyx_tuple__6); | |
+ Py_VISIT(traverse_module_state->__pyx_tuple__5); | |
Py_VISIT(traverse_module_state->__pyx_tuple__7); | |
- Py_VISIT(traverse_module_state->__pyx_tuple__13); | |
- Py_VISIT(traverse_module_state->__pyx_tuple__17); | |
+ Py_VISIT(traverse_module_state->__pyx_tuple__8); | |
+ Py_VISIT(traverse_module_state->__pyx_tuple__14); | |
+ Py_VISIT(traverse_module_state->__pyx_tuple__18); | |
Py_VISIT(traverse_module_state->__pyx_tuple__20); | |
- Py_VISIT(traverse_module_state->__pyx_tuple__21); | |
Py_VISIT(traverse_module_state->__pyx_tuple__22); | |
Py_VISIT(traverse_module_state->__pyx_tuple__23); | |
+ Py_VISIT(traverse_module_state->__pyx_tuple__24); | |
Py_VISIT(traverse_module_state->__pyx_tuple__25); | |
Py_VISIT(traverse_module_state->__pyx_tuple__27); | |
Py_VISIT(traverse_module_state->__pyx_tuple__29); | |
Py_VISIT(traverse_module_state->__pyx_tuple__31); | |
Py_VISIT(traverse_module_state->__pyx_tuple__33); | |
Py_VISIT(traverse_module_state->__pyx_tuple__35); | |
- Py_VISIT(traverse_module_state->__pyx_tuple__36); | |
+ Py_VISIT(traverse_module_state->__pyx_tuple__37); | |
Py_VISIT(traverse_module_state->__pyx_tuple__38); | |
Py_VISIT(traverse_module_state->__pyx_tuple__40); | |
- Py_VISIT(traverse_module_state->__pyx_tuple__43); | |
+ Py_VISIT(traverse_module_state->__pyx_tuple__42); | |
Py_VISIT(traverse_module_state->__pyx_tuple__45); | |
- Py_VISIT(traverse_module_state->__pyx_tuple__46); | |
+ Py_VISIT(traverse_module_state->__pyx_tuple__47); | |
Py_VISIT(traverse_module_state->__pyx_tuple__48); | |
Py_VISIT(traverse_module_state->__pyx_tuple__50); | |
Py_VISIT(traverse_module_state->__pyx_tuple__52); | |
- Py_VISIT(traverse_module_state->__pyx_tuple__53); | |
+ Py_VISIT(traverse_module_state->__pyx_tuple__54); | |
Py_VISIT(traverse_module_state->__pyx_tuple__55); | |
Py_VISIT(traverse_module_state->__pyx_tuple__57); | |
- Py_VISIT(traverse_module_state->__pyx_tuple__58); | |
+ Py_VISIT(traverse_module_state->__pyx_tuple__59); | |
Py_VISIT(traverse_module_state->__pyx_tuple__60); | |
Py_VISIT(traverse_module_state->__pyx_tuple__62); | |
Py_VISIT(traverse_module_state->__pyx_tuple__64); | |
Py_VISIT(traverse_module_state->__pyx_tuple__66); | |
Py_VISIT(traverse_module_state->__pyx_tuple__68); | |
- Py_VISIT(traverse_module_state->__pyx_tuple__69); | |
+ Py_VISIT(traverse_module_state->__pyx_tuple__70); | |
Py_VISIT(traverse_module_state->__pyx_tuple__71); | |
Py_VISIT(traverse_module_state->__pyx_tuple__73); | |
Py_VISIT(traverse_module_state->__pyx_tuple__75); | |
@@ -4377,8 +4576,8 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
Py_VISIT(traverse_module_state->__pyx_tuple__95); | |
Py_VISIT(traverse_module_state->__pyx_tuple__97); | |
Py_VISIT(traverse_module_state->__pyx_tuple__99); | |
- Py_VISIT(traverse_module_state->__pyx_codeobj__5); | |
- Py_VISIT(traverse_module_state->__pyx_codeobj__8); | |
+ Py_VISIT(traverse_module_state->__pyx_codeobj__6); | |
+ Py_VISIT(traverse_module_state->__pyx_codeobj__9); | |
Py_VISIT(traverse_module_state->__pyx_tuple__101); | |
Py_VISIT(traverse_module_state->__pyx_tuple__103); | |
Py_VISIT(traverse_module_state->__pyx_tuple__105); | |
@@ -4394,27 +4593,28 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
Py_VISIT(traverse_module_state->__pyx_tuple__125); | |
Py_VISIT(traverse_module_state->__pyx_tuple__127); | |
Py_VISIT(traverse_module_state->__pyx_tuple__129); | |
- Py_VISIT(traverse_module_state->__pyx_codeobj__24); | |
+ Py_VISIT(traverse_module_state->__pyx_tuple__131); | |
+ Py_VISIT(traverse_module_state->__pyx_tuple__133); | |
Py_VISIT(traverse_module_state->__pyx_codeobj__26); | |
Py_VISIT(traverse_module_state->__pyx_codeobj__28); | |
Py_VISIT(traverse_module_state->__pyx_codeobj__30); | |
Py_VISIT(traverse_module_state->__pyx_codeobj__32); | |
Py_VISIT(traverse_module_state->__pyx_codeobj__34); | |
- Py_VISIT(traverse_module_state->__pyx_codeobj__37); | |
+ Py_VISIT(traverse_module_state->__pyx_codeobj__36); | |
Py_VISIT(traverse_module_state->__pyx_codeobj__39); | |
Py_VISIT(traverse_module_state->__pyx_codeobj__41); | |
- Py_VISIT(traverse_module_state->__pyx_codeobj__44); | |
- Py_VISIT(traverse_module_state->__pyx_codeobj__47); | |
+ Py_VISIT(traverse_module_state->__pyx_codeobj__43); | |
+ Py_VISIT(traverse_module_state->__pyx_codeobj__46); | |
Py_VISIT(traverse_module_state->__pyx_codeobj__49); | |
Py_VISIT(traverse_module_state->__pyx_codeobj__51); | |
- Py_VISIT(traverse_module_state->__pyx_codeobj__54); | |
+ Py_VISIT(traverse_module_state->__pyx_codeobj__53); | |
Py_VISIT(traverse_module_state->__pyx_codeobj__56); | |
- Py_VISIT(traverse_module_state->__pyx_codeobj__59); | |
+ Py_VISIT(traverse_module_state->__pyx_codeobj__58); | |
Py_VISIT(traverse_module_state->__pyx_codeobj__61); | |
Py_VISIT(traverse_module_state->__pyx_codeobj__63); | |
Py_VISIT(traverse_module_state->__pyx_codeobj__65); | |
Py_VISIT(traverse_module_state->__pyx_codeobj__67); | |
- Py_VISIT(traverse_module_state->__pyx_codeobj__70); | |
+ Py_VISIT(traverse_module_state->__pyx_codeobj__69); | |
Py_VISIT(traverse_module_state->__pyx_codeobj__72); | |
Py_VISIT(traverse_module_state->__pyx_codeobj__74); | |
Py_VISIT(traverse_module_state->__pyx_codeobj__76); | |
@@ -4445,6 +4645,8 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
Py_VISIT(traverse_module_state->__pyx_codeobj__126); | |
Py_VISIT(traverse_module_state->__pyx_codeobj__128); | |
Py_VISIT(traverse_module_state->__pyx_codeobj__130); | |
+ Py_VISIT(traverse_module_state->__pyx_codeobj__132); | |
+ Py_VISIT(traverse_module_state->__pyx_codeobj__134); | |
return 0; | |
} | |
#endif | |
@@ -4488,9 +4690,12 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
#define __pyx_kp_u_0_return_return_values_1 __pyx_mstate_global->__pyx_kp_u_0_return_return_values_1 | |
#define __pyx_kp_u_A_Za_z__A_Za_z0_9 __pyx_mstate_global->__pyx_kp_u_A_Za_z__A_Za_z0_9 | |
#define __pyx_kp_s_A_dict_like_class_for_storing_fi __pyx_mstate_global->__pyx_kp_s_A_dict_like_class_for_storing_fi | |
+#define __pyx_n_s_Any __pyx_mstate_global->__pyx_n_s_Any | |
#define __pyx_n_s_AssertionError __pyx_mstate_global->__pyx_n_s_AssertionError | |
#define __pyx_n_s_AttributeError __pyx_mstate_global->__pyx_n_s_AttributeError | |
#define __pyx_n_s_BUILTIN __pyx_mstate_global->__pyx_n_s_BUILTIN | |
+#define __pyx_n_s_Callable __pyx_mstate_global->__pyx_n_s_Callable | |
+#define __pyx_kp_s_Callable_2 __pyx_mstate_global->__pyx_kp_s_Callable_2 | |
#define __pyx_kp_u_Cannot_instantiate_converter __pyx_mstate_global->__pyx_kp_u_Cannot_instantiate_converter | |
#define __pyx_n_s_CompiledRouter __pyx_mstate_global->__pyx_n_s_CompiledRouter | |
#define __pyx_n_s_CompiledRouterNode __pyx_mstate_global->__pyx_n_s_CompiledRouterNode | |
@@ -4499,6 +4704,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
#define __pyx_n_s_CompiledRouterNode_conflicts_wit __pyx_mstate_global->__pyx_n_s_CompiledRouterNode_conflicts_wit | |
#define __pyx_n_s_CompiledRouterNode_matches __pyx_mstate_global->__pyx_n_s_CompiledRouterNode_matches | |
#define __pyx_n_s_CompiledRouterOptions __pyx_mstate_global->__pyx_n_s_CompiledRouterOptions | |
+#define __pyx_kp_s_CompiledRouterOptions_2 __pyx_mstate_global->__pyx_kp_s_CompiledRouterOptions_2 | |
#define __pyx_n_s_CompiledRouterOptions___init __pyx_mstate_global->__pyx_n_s_CompiledRouterOptions___init | |
#define __pyx_n_s_CompiledRouterOptions___init___l __pyx_mstate_global->__pyx_n_s_CompiledRouterOptions___init___l | |
#define __pyx_n_s_CompiledRouter___init __pyx_mstate_global->__pyx_n_s_CompiledRouter___init | |
@@ -4522,6 +4728,11 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
#define __pyx_n_s_ConverterDict___setitem __pyx_mstate_global->__pyx_n_s_ConverterDict___setitem | |
#define __pyx_n_s_ConverterDict__validate __pyx_mstate_global->__pyx_n_s_ConverterDict__validate | |
#define __pyx_n_s_ConverterDict_update __pyx_mstate_global->__pyx_n_s_ConverterDict_update | |
+#define __pyx_n_s_CxChild __pyx_mstate_global->__pyx_n_s_CxChild | |
+#define __pyx_n_u_CxChild __pyx_mstate_global->__pyx_n_u_CxChild | |
+#define __pyx_n_s_CxChild_src __pyx_mstate_global->__pyx_n_s_CxChild_src | |
+#define __pyx_n_s_CxElement __pyx_mstate_global->__pyx_n_s_CxElement | |
+#define __pyx_kp_s_CxElement_2 __pyx_mstate_global->__pyx_kp_s_CxElement_2 | |
#define __pyx_n_s_CxIfConverterField __pyx_mstate_global->__pyx_n_s_CxIfConverterField | |
#define __pyx_n_s_CxIfConverterField___init __pyx_mstate_global->__pyx_n_s_CxIfConverterField___init | |
#define __pyx_n_s_CxIfConverterField_src __pyx_mstate_global->__pyx_n_s_CxIfConverterField_src | |
@@ -4535,6 +4746,8 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
#define __pyx_n_s_CxIfPathSegmentPattern___init __pyx_mstate_global->__pyx_n_s_CxIfPathSegmentPattern___init | |
#define __pyx_n_s_CxIfPathSegmentPattern_src __pyx_mstate_global->__pyx_n_s_CxIfPathSegmentPattern_src | |
#define __pyx_n_s_CxParent __pyx_mstate_global->__pyx_n_s_CxParent | |
+#define __pyx_n_u_CxParent __pyx_mstate_global->__pyx_n_u_CxParent | |
+#define __pyx_kp_s_CxParent_2 __pyx_mstate_global->__pyx_kp_s_CxParent_2 | |
#define __pyx_n_s_CxParent___init __pyx_mstate_global->__pyx_n_s_CxParent___init | |
#define __pyx_n_s_CxParent__children_src __pyx_mstate_global->__pyx_n_s_CxParent__children_src | |
#define __pyx_n_s_CxParent_append_child __pyx_mstate_global->__pyx_n_s_CxParent_append_child | |
@@ -4568,6 +4781,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
#define __pyx_n_s_CxVariableFromPatternMatch___in __pyx_mstate_global->__pyx_n_s_CxVariableFromPatternMatch___in | |
#define __pyx_n_s_CxVariableFromPatternMatch_src __pyx_mstate_global->__pyx_n_s_CxVariableFromPatternMatch_src | |
#define __pyx_kp_s_Defines_a_set_of_configurable_ro __pyx_mstate_global->__pyx_kp_s_Defines_a_set_of_configurable_ro | |
+#define __pyx_n_s_Dict __pyx_mstate_global->__pyx_n_s_Dict | |
#define __pyx_kp_u_FIELD __pyx_mstate_global->__pyx_kp_u_FIELD | |
#define __pyx_n_s_FIELD_PATTERN __pyx_mstate_global->__pyx_n_s_FIELD_PATTERN | |
#define __pyx_kp_s_Fast_URI_router_which_compiles_i __pyx_mstate_global->__pyx_kp_s_Fast_URI_router_which_compiles_i | |
@@ -4575,31 +4789,49 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
#define __pyx_kp_u_Field_names_must_be_valid_identi __pyx_mstate_global->__pyx_kp_u_Field_names_must_be_valid_identi | |
#define __pyx_n_s_IDENTIFIER_PATTERN __pyx_mstate_global->__pyx_n_s_IDENTIFIER_PATTERN | |
#define __pyx_kp_u_Invalid_converter_name_Names_may __pyx_mstate_global->__pyx_kp_u_Invalid_converter_name_Names_may | |
+#define __pyx_n_s_List __pyx_mstate_global->__pyx_n_s_List | |
+#define __pyx_kp_s_List_CompiledRouterNode __pyx_mstate_global->__pyx_kp_s_List_CompiledRouterNode | |
+#define __pyx_kp_s_List_Pattern __pyx_mstate_global->__pyx_kp_s_List_Pattern | |
+#define __pyx_kp_s_List__CxElement __pyx_mstate_global->__pyx_kp_s_List__CxElement | |
#define __pyx_n_s_Lock __pyx_mstate_global->__pyx_n_s_Lock | |
#define __pyx_kp_u_Missing_converter_for_field_0 __pyx_mstate_global->__pyx_kp_u_Missing_converter_for_field_0 | |
+#define __pyx_n_s_None __pyx_mstate_global->__pyx_n_s_None | |
+#define __pyx_n_s_NotImplementedError __pyx_mstate_global->__pyx_n_s_NotImplementedError | |
+#define __pyx_n_s_Optional __pyx_mstate_global->__pyx_n_s_Optional | |
+#define __pyx_kp_s_Optional_Request __pyx_mstate_global->__pyx_kp_s_Optional_Request | |
+#define __pyx_kp_s_Optional_dict __pyx_mstate_global->__pyx_kp_s_Optional_dict | |
+#define __pyx_kp_s_Optional_object __pyx_mstate_global->__pyx_kp_s_Optional_object | |
+#define __pyx_kp_s_Optional_str __pyx_mstate_global->__pyx_kp_s_Optional_str | |
#define __pyx_kp_u_P_2 __pyx_mstate_global->__pyx_kp_u_P_2 | |
#define __pyx_kp_u_P_fname_P_cname_sep_P_cname_P_a __pyx_mstate_global->__pyx_kp_u_P_fname_P_cname_sep_P_cname_P_a | |
+#define __pyx_n_s_Pattern __pyx_mstate_global->__pyx_n_s_Pattern | |
#define __pyx_kp_s_Represents_a_single_URI_segment __pyx_mstate_global->__pyx_kp_s_Represents_a_single_URI_segment | |
+#define __pyx_n_s_Request __pyx_mstate_global->__pyx_n_s_Request | |
+#define __pyx_n_s_Set __pyx_mstate_global->__pyx_n_s_Set | |
+#define __pyx_kp_s_Set_str __pyx_mstate_global->__pyx_kp_s_Set_str | |
#define __pyx_n_s_TAB_STR __pyx_mstate_global->__pyx_n_s_TAB_STR | |
+#define __pyx_n_s_TYPE_CHECKING __pyx_mstate_global->__pyx_n_s_TYPE_CHECKING | |
#define __pyx_kp_u_The_URI_template_for_this_route __pyx_mstate_global->__pyx_kp_u_The_URI_template_for_this_route | |
#define __pyx_kp_u_The_responder_must_be_a_non_bloc __pyx_mstate_global->__pyx_kp_u_The_responder_must_be_a_non_bloc | |
#define __pyx_kp_u_The_responder_must_be_a_regular __pyx_mstate_global->__pyx_kp_u_The_responder_must_be_a_regular | |
#define __pyx_n_s_TypeError __pyx_mstate_global->__pyx_n_s_TypeError | |
#define __pyx_kp_u_URI_templates_may_not_include_wh __pyx_mstate_global->__pyx_kp_u_URI_templates_may_not_include_wh | |
+#define __pyx_n_s_Union __pyx_mstate_global->__pyx_n_s_Union | |
#define __pyx_kp_u_Unknown_converter_0 __pyx_mstate_global->__pyx_kp_u_Unknown_converter_0 | |
#define __pyx_n_s_UserDict __pyx_mstate_global->__pyx_n_s_UserDict | |
#define __pyx_n_s_ValueError __pyx_mstate_global->__pyx_n_s_ValueError | |
#define __pyx_kp_u__10 __pyx_mstate_global->__pyx_kp_u__10 | |
#define __pyx_kp_u__11 __pyx_mstate_global->__pyx_kp_u__11 | |
#define __pyx_kp_u__12 __pyx_mstate_global->__pyx_kp_u__12 | |
-#define __pyx_n_s__131 __pyx_mstate_global->__pyx_n_s__131 | |
-#define __pyx_kp_u__14 __pyx_mstate_global->__pyx_kp_u__14 | |
+#define __pyx_kp_u__13 __pyx_mstate_global->__pyx_kp_u__13 | |
+#define __pyx_n_s__135 __pyx_mstate_global->__pyx_n_s__135 | |
#define __pyx_kp_u__15 __pyx_mstate_global->__pyx_kp_u__15 | |
#define __pyx_kp_u__16 __pyx_mstate_global->__pyx_kp_u__16 | |
-#define __pyx_n_s__18 __pyx_mstate_global->__pyx_n_s__18 | |
-#define __pyx_kp_u__19 __pyx_mstate_global->__pyx_kp_u__19 | |
-#define __pyx_n_s__42 __pyx_mstate_global->__pyx_n_s__42 | |
-#define __pyx_kp_u__9 __pyx_mstate_global->__pyx_kp_u__9 | |
+#define __pyx_kp_u__17 __pyx_mstate_global->__pyx_kp_u__17 | |
+#define __pyx_n_s__19 __pyx_mstate_global->__pyx_n_s__19 | |
+#define __pyx_kp_u__2 __pyx_mstate_global->__pyx_kp_u__2 | |
+#define __pyx_kp_u__21 __pyx_mstate_global->__pyx_kp_u__21 | |
+#define __pyx_n_s__44 __pyx_mstate_global->__pyx_n_s__44 | |
#define __pyx_n_s_add __pyx_mstate_global->__pyx_n_s_add | |
#define __pyx_n_s_add_route __pyx_mstate_global->__pyx_n_s_add_route | |
#define __pyx_n_s_append __pyx_mstate_global->__pyx_n_s_append | |
@@ -4612,6 +4844,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
#define __pyx_n_s_ast __pyx_mstate_global->__pyx_n_s_ast | |
#define __pyx_n_u_ast __pyx_mstate_global->__pyx_n_u_ast | |
#define __pyx_n_s_asyncio_coroutines __pyx_mstate_global->__pyx_n_s_asyncio_coroutines | |
+#define __pyx_n_s_bool __pyx_mstate_global->__pyx_n_s_bool | |
#define __pyx_n_s_builtins __pyx_mstate_global->__pyx_n_s_builtins | |
#define __pyx_n_s_child __pyx_mstate_global->__pyx_n_s_child | |
#define __pyx_n_s_children __pyx_mstate_global->__pyx_n_s_children | |
@@ -4647,9 +4880,16 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
#define __pyx_n_s_converters_2 __pyx_mstate_global->__pyx_n_s_converters_2 | |
#define __pyx_n_u_converters_2 __pyx_mstate_global->__pyx_n_u_converters_2 | |
#define __pyx_n_s_copy __pyx_mstate_global->__pyx_n_s_copy | |
+#define __pyx_n_s_cx_converter __pyx_mstate_global->__pyx_n_s_cx_converter | |
+#define __pyx_n_s_cx_literal __pyx_mstate_global->__pyx_n_s_cx_literal | |
+#define __pyx_n_s_cx_path_len __pyx_mstate_global->__pyx_n_s_cx_path_len | |
+#define __pyx_n_s_cx_pattern __pyx_mstate_global->__pyx_n_s_cx_pattern | |
+#define __pyx_n_s_cx_pattern_match __pyx_mstate_global->__pyx_n_s_cx_pattern_match | |
+#define __pyx_n_s_cx_segment __pyx_mstate_global->__pyx_n_s_cx_segment | |
#define __pyx_n_s_data __pyx_mstate_global->__pyx_n_s_data | |
#define __pyx_kp_u_def_find_path_return_values_patt __pyx_mstate_global->__pyx_kp_u_def_find_path_return_values_patt | |
#define __pyx_n_s_dict __pyx_mstate_global->__pyx_n_s_dict | |
+#define __pyx_n_s_dict_2 __pyx_mstate_global->__pyx_n_s_dict_2 | |
#define __pyx_kp_u_dict_groups__0 __pyx_mstate_global->__pyx_kp_u_dict_groups__0 | |
#define __pyx_kp_u_dict_match__0 __pyx_mstate_global->__pyx_kp_u_dict_match__0 | |
#define __pyx_n_s_dict_value_name __pyx_mstate_global->__pyx_n_s_dict_value_name | |
@@ -4664,6 +4904,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
#define __pyx_n_s_eval __pyx_mstate_global->__pyx_n_s_eval | |
#define __pyx_n_u_exec __pyx_mstate_global->__pyx_n_u_exec | |
#define __pyx_n_s_exit __pyx_mstate_global->__pyx_n_s_exit | |
+#define __pyx_n_s_falcon_request __pyx_mstate_global->__pyx_n_s_falcon_request | |
#define __pyx_n_s_falcon_routing __pyx_mstate_global->__pyx_n_s_falcon_routing | |
#define __pyx_n_s_falcon_routing_compiled __pyx_mstate_global->__pyx_n_s_falcon_routing_compiled | |
#define __pyx_kp_s_falcon_routing_compiled_py __pyx_mstate_global->__pyx_kp_s_falcon_routing_compiled_py | |
@@ -4706,6 +4947,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
#define __pyx_n_s_insert __pyx_mstate_global->__pyx_n_s_insert | |
#define __pyx_n_s_inspect __pyx_mstate_global->__pyx_n_s_inspect | |
#define __pyx_n_s_instantiate_converter __pyx_mstate_global->__pyx_n_s_instantiate_converter | |
+#define __pyx_n_s_int __pyx_mstate_global->__pyx_n_s_int | |
#define __pyx_n_s_is_complex __pyx_mstate_global->__pyx_n_s_is_complex | |
#define __pyx_n_s_is_coroutine __pyx_mstate_global->__pyx_n_s_is_coroutine | |
#define __pyx_n_s_is_identifier __pyx_mstate_global->__pyx_n_s_is_identifier | |
@@ -4725,7 +4967,6 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
#define __pyx_n_s_let __pyx_mstate_global->__pyx_n_s_let | |
#define __pyx_n_s_level __pyx_mstate_global->__pyx_n_s_level | |
#define __pyx_n_s_lines __pyx_mstate_global->__pyx_n_s_lines | |
-#define __pyx_n_s_list __pyx_mstate_global->__pyx_n_s_list | |
#define __pyx_n_s_literal __pyx_mstate_global->__pyx_n_s_literal | |
#define __pyx_n_s_literal_2 __pyx_mstate_global->__pyx_n_s_literal_2 | |
#define __pyx_n_s_lstrip __pyx_mstate_global->__pyx_n_s_lstrip | |
@@ -4749,6 +4990,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
#define __pyx_n_s_node_2 __pyx_mstate_global->__pyx_n_s_node_2 | |
#define __pyx_n_s_nodes __pyx_mstate_global->__pyx_n_s_nodes | |
#define __pyx_n_s_num_fields __pyx_mstate_global->__pyx_n_s_num_fields | |
+#define __pyx_n_s_object __pyx_mstate_global->__pyx_n_s_object | |
#define __pyx_n_s_options __pyx_mstate_global->__pyx_n_s_options | |
#define __pyx_n_u_options __pyx_mstate_global->__pyx_n_u_options | |
#define __pyx_n_s_options_2 __pyx_mstate_global->__pyx_n_s_options_2 | |
@@ -4782,6 +5024,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
#define __pyx_n_s_resource __pyx_mstate_global->__pyx_n_s_resource | |
#define __pyx_n_s_resource_idx __pyx_mstate_global->__pyx_n_s_resource_idx | |
#define __pyx_n_s_responder __pyx_mstate_global->__pyx_n_s_responder | |
+#define __pyx_n_s_return __pyx_mstate_global->__pyx_n_s_return | |
#define __pyx_kp_u_return_None __pyx_mstate_global->__pyx_kp_u_return_None | |
#define __pyx_n_s_return_values __pyx_mstate_global->__pyx_n_s_return_values | |
#define __pyx_n_u_return_values __pyx_mstate_global->__pyx_n_u_return_values | |
@@ -4799,7 +5042,6 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
#define __pyx_n_s_set_default_responders __pyx_mstate_global->__pyx_n_s_set_default_responders | |
#define __pyx_n_s_set_name __pyx_mstate_global->__pyx_n_s_set_name | |
#define __pyx_n_s_setitem __pyx_mstate_global->__pyx_n_s_setitem | |
-#define __pyx_n_s_setter __pyx_mstate_global->__pyx_n_s_setter | |
#define __pyx_n_s_should_wrap_non_coroutines __pyx_mstate_global->__pyx_n_s_should_wrap_non_coroutines | |
#define __pyx_n_s_slots __pyx_mstate_global->__pyx_n_s_slots | |
#define __pyx_n_s_sorted __pyx_mstate_global->__pyx_n_s_sorted | |
@@ -4808,6 +5050,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
#define __pyx_n_s_split __pyx_mstate_global->__pyx_n_s_split | |
#define __pyx_n_s_src __pyx_mstate_global->__pyx_n_s_src | |
#define __pyx_n_s_src_lines __pyx_mstate_global->__pyx_n_s_src_lines | |
+#define __pyx_n_s_str __pyx_mstate_global->__pyx_n_s_str | |
#define __pyx_kp_u_string __pyx_mstate_global->__pyx_kp_u_string | |
#define __pyx_n_s_sub __pyx_mstate_global->__pyx_n_s_sub | |
#define __pyx_n_s_suffix __pyx_mstate_global->__pyx_n_s_suffix | |
@@ -4817,6 +5060,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
#define __pyx_n_s_test __pyx_mstate_global->__pyx_n_s_test | |
#define __pyx_n_s_threading __pyx_mstate_global->__pyx_n_s_threading | |
#define __pyx_n_s_throw __pyx_mstate_global->__pyx_n_s_throw | |
+#define __pyx_n_s_typing __pyx_mstate_global->__pyx_n_s_typing | |
#define __pyx_n_s_unique_idx __pyx_mstate_global->__pyx_n_s_unique_idx | |
#define __pyx_n_s_unique_idx_2 __pyx_mstate_global->__pyx_n_s_unique_idx_2 | |
#define __pyx_n_s_update __pyx_mstate_global->__pyx_n_s_update | |
@@ -4835,42 +5079,42 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
#define __pyx_n_s_wrap_sync_to_async __pyx_mstate_global->__pyx_n_s_wrap_sync_to_async | |
#define __pyx_int_0 __pyx_mstate_global->__pyx_int_0 | |
#define __pyx_int_1 __pyx_mstate_global->__pyx_int_1 | |
-#define __pyx_tuple__2 __pyx_mstate_global->__pyx_tuple__2 | |
#define __pyx_tuple__3 __pyx_mstate_global->__pyx_tuple__3 | |
#define __pyx_tuple__4 __pyx_mstate_global->__pyx_tuple__4 | |
-#define __pyx_tuple__6 __pyx_mstate_global->__pyx_tuple__6 | |
+#define __pyx_tuple__5 __pyx_mstate_global->__pyx_tuple__5 | |
#define __pyx_tuple__7 __pyx_mstate_global->__pyx_tuple__7 | |
-#define __pyx_tuple__13 __pyx_mstate_global->__pyx_tuple__13 | |
-#define __pyx_tuple__17 __pyx_mstate_global->__pyx_tuple__17 | |
+#define __pyx_tuple__8 __pyx_mstate_global->__pyx_tuple__8 | |
+#define __pyx_tuple__14 __pyx_mstate_global->__pyx_tuple__14 | |
+#define __pyx_tuple__18 __pyx_mstate_global->__pyx_tuple__18 | |
#define __pyx_tuple__20 __pyx_mstate_global->__pyx_tuple__20 | |
-#define __pyx_tuple__21 __pyx_mstate_global->__pyx_tuple__21 | |
#define __pyx_tuple__22 __pyx_mstate_global->__pyx_tuple__22 | |
#define __pyx_tuple__23 __pyx_mstate_global->__pyx_tuple__23 | |
+#define __pyx_tuple__24 __pyx_mstate_global->__pyx_tuple__24 | |
#define __pyx_tuple__25 __pyx_mstate_global->__pyx_tuple__25 | |
#define __pyx_tuple__27 __pyx_mstate_global->__pyx_tuple__27 | |
#define __pyx_tuple__29 __pyx_mstate_global->__pyx_tuple__29 | |
#define __pyx_tuple__31 __pyx_mstate_global->__pyx_tuple__31 | |
#define __pyx_tuple__33 __pyx_mstate_global->__pyx_tuple__33 | |
#define __pyx_tuple__35 __pyx_mstate_global->__pyx_tuple__35 | |
-#define __pyx_tuple__36 __pyx_mstate_global->__pyx_tuple__36 | |
+#define __pyx_tuple__37 __pyx_mstate_global->__pyx_tuple__37 | |
#define __pyx_tuple__38 __pyx_mstate_global->__pyx_tuple__38 | |
#define __pyx_tuple__40 __pyx_mstate_global->__pyx_tuple__40 | |
-#define __pyx_tuple__43 __pyx_mstate_global->__pyx_tuple__43 | |
+#define __pyx_tuple__42 __pyx_mstate_global->__pyx_tuple__42 | |
#define __pyx_tuple__45 __pyx_mstate_global->__pyx_tuple__45 | |
-#define __pyx_tuple__46 __pyx_mstate_global->__pyx_tuple__46 | |
+#define __pyx_tuple__47 __pyx_mstate_global->__pyx_tuple__47 | |
#define __pyx_tuple__48 __pyx_mstate_global->__pyx_tuple__48 | |
#define __pyx_tuple__50 __pyx_mstate_global->__pyx_tuple__50 | |
#define __pyx_tuple__52 __pyx_mstate_global->__pyx_tuple__52 | |
-#define __pyx_tuple__53 __pyx_mstate_global->__pyx_tuple__53 | |
+#define __pyx_tuple__54 __pyx_mstate_global->__pyx_tuple__54 | |
#define __pyx_tuple__55 __pyx_mstate_global->__pyx_tuple__55 | |
#define __pyx_tuple__57 __pyx_mstate_global->__pyx_tuple__57 | |
-#define __pyx_tuple__58 __pyx_mstate_global->__pyx_tuple__58 | |
+#define __pyx_tuple__59 __pyx_mstate_global->__pyx_tuple__59 | |
#define __pyx_tuple__60 __pyx_mstate_global->__pyx_tuple__60 | |
#define __pyx_tuple__62 __pyx_mstate_global->__pyx_tuple__62 | |
#define __pyx_tuple__64 __pyx_mstate_global->__pyx_tuple__64 | |
#define __pyx_tuple__66 __pyx_mstate_global->__pyx_tuple__66 | |
#define __pyx_tuple__68 __pyx_mstate_global->__pyx_tuple__68 | |
-#define __pyx_tuple__69 __pyx_mstate_global->__pyx_tuple__69 | |
+#define __pyx_tuple__70 __pyx_mstate_global->__pyx_tuple__70 | |
#define __pyx_tuple__71 __pyx_mstate_global->__pyx_tuple__71 | |
#define __pyx_tuple__73 __pyx_mstate_global->__pyx_tuple__73 | |
#define __pyx_tuple__75 __pyx_mstate_global->__pyx_tuple__75 | |
@@ -4886,8 +5130,8 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
#define __pyx_tuple__95 __pyx_mstate_global->__pyx_tuple__95 | |
#define __pyx_tuple__97 __pyx_mstate_global->__pyx_tuple__97 | |
#define __pyx_tuple__99 __pyx_mstate_global->__pyx_tuple__99 | |
-#define __pyx_codeobj__5 __pyx_mstate_global->__pyx_codeobj__5 | |
-#define __pyx_codeobj__8 __pyx_mstate_global->__pyx_codeobj__8 | |
+#define __pyx_codeobj__6 __pyx_mstate_global->__pyx_codeobj__6 | |
+#define __pyx_codeobj__9 __pyx_mstate_global->__pyx_codeobj__9 | |
#define __pyx_tuple__101 __pyx_mstate_global->__pyx_tuple__101 | |
#define __pyx_tuple__103 __pyx_mstate_global->__pyx_tuple__103 | |
#define __pyx_tuple__105 __pyx_mstate_global->__pyx_tuple__105 | |
@@ -4903,27 +5147,28 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
#define __pyx_tuple__125 __pyx_mstate_global->__pyx_tuple__125 | |
#define __pyx_tuple__127 __pyx_mstate_global->__pyx_tuple__127 | |
#define __pyx_tuple__129 __pyx_mstate_global->__pyx_tuple__129 | |
-#define __pyx_codeobj__24 __pyx_mstate_global->__pyx_codeobj__24 | |
+#define __pyx_tuple__131 __pyx_mstate_global->__pyx_tuple__131 | |
+#define __pyx_tuple__133 __pyx_mstate_global->__pyx_tuple__133 | |
#define __pyx_codeobj__26 __pyx_mstate_global->__pyx_codeobj__26 | |
#define __pyx_codeobj__28 __pyx_mstate_global->__pyx_codeobj__28 | |
#define __pyx_codeobj__30 __pyx_mstate_global->__pyx_codeobj__30 | |
#define __pyx_codeobj__32 __pyx_mstate_global->__pyx_codeobj__32 | |
#define __pyx_codeobj__34 __pyx_mstate_global->__pyx_codeobj__34 | |
-#define __pyx_codeobj__37 __pyx_mstate_global->__pyx_codeobj__37 | |
+#define __pyx_codeobj__36 __pyx_mstate_global->__pyx_codeobj__36 | |
#define __pyx_codeobj__39 __pyx_mstate_global->__pyx_codeobj__39 | |
#define __pyx_codeobj__41 __pyx_mstate_global->__pyx_codeobj__41 | |
-#define __pyx_codeobj__44 __pyx_mstate_global->__pyx_codeobj__44 | |
-#define __pyx_codeobj__47 __pyx_mstate_global->__pyx_codeobj__47 | |
+#define __pyx_codeobj__43 __pyx_mstate_global->__pyx_codeobj__43 | |
+#define __pyx_codeobj__46 __pyx_mstate_global->__pyx_codeobj__46 | |
#define __pyx_codeobj__49 __pyx_mstate_global->__pyx_codeobj__49 | |
#define __pyx_codeobj__51 __pyx_mstate_global->__pyx_codeobj__51 | |
-#define __pyx_codeobj__54 __pyx_mstate_global->__pyx_codeobj__54 | |
+#define __pyx_codeobj__53 __pyx_mstate_global->__pyx_codeobj__53 | |
#define __pyx_codeobj__56 __pyx_mstate_global->__pyx_codeobj__56 | |
-#define __pyx_codeobj__59 __pyx_mstate_global->__pyx_codeobj__59 | |
+#define __pyx_codeobj__58 __pyx_mstate_global->__pyx_codeobj__58 | |
#define __pyx_codeobj__61 __pyx_mstate_global->__pyx_codeobj__61 | |
#define __pyx_codeobj__63 __pyx_mstate_global->__pyx_codeobj__63 | |
#define __pyx_codeobj__65 __pyx_mstate_global->__pyx_codeobj__65 | |
#define __pyx_codeobj__67 __pyx_mstate_global->__pyx_codeobj__67 | |
-#define __pyx_codeobj__70 __pyx_mstate_global->__pyx_codeobj__70 | |
+#define __pyx_codeobj__69 __pyx_mstate_global->__pyx_codeobj__69 | |
#define __pyx_codeobj__72 __pyx_mstate_global->__pyx_codeobj__72 | |
#define __pyx_codeobj__74 __pyx_mstate_global->__pyx_codeobj__74 | |
#define __pyx_codeobj__76 __pyx_mstate_global->__pyx_codeobj__76 | |
@@ -4954,15 +5199,17 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
#define __pyx_codeobj__126 __pyx_mstate_global->__pyx_codeobj__126 | |
#define __pyx_codeobj__128 __pyx_mstate_global->__pyx_codeobj__128 | |
#define __pyx_codeobj__130 __pyx_mstate_global->__pyx_codeobj__130 | |
+#define __pyx_codeobj__132 __pyx_mstate_global->__pyx_codeobj__132 | |
+#define __pyx_codeobj__134 __pyx_mstate_global->__pyx_codeobj__134 | |
#endif | |
/* #### Code section: module_code ### */ | |
-/* "falcon/routing/compiled.py":88 | |
+/* "falcon/routing/compiled.py":93 | |
* ) | |
* | |
- * def __init__(self): # <<<<<<<<<<<<<< | |
- * self._ast = None | |
- * self._converters = None | |
+ * def __init__(self) -> None: # <<<<<<<<<<<<<< | |
+ * self._ast: '_CxParent' = _CxParent() | |
+ * self._converters: 'List[converters.BaseConverter]' = [] | |
*/ | |
/* Python wrapper */ | |
@@ -5011,12 +5258,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 88, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 93, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 88, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 93, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 1)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -5027,7 +5274,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 88, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 93, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled.CompiledRouter.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -5052,41 +5299,67 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter___init__(C | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("__init__", 0); | |
- /* "falcon/routing/compiled.py":89 | |
+ /* "falcon/routing/compiled.py":94 | |
* | |
- * def __init__(self): | |
- * self._ast = None # <<<<<<<<<<<<<< | |
- * self._converters = None | |
- * self._finder_src = None | |
+ * def __init__(self) -> None: | |
+ * self._ast: '_CxParent' = _CxParent() # <<<<<<<<<<<<<< | |
+ * self._converters: 'List[converters.BaseConverter]' = [] | |
+ * self._finder_src: str = '' | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_ast, Py_None) < 0) __PYX_ERR(0, 89, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CxParent); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 94, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_2); | |
+ __pyx_t_3 = NULL; | |
+ __pyx_t_4 = 0; | |
+ if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { | |
+ __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); | |
+ if (likely(__pyx_t_3)) { | |
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); | |
+ __Pyx_INCREF(__pyx_t_3); | |
+ __Pyx_INCREF(function); | |
+ __Pyx_DECREF_SET(__pyx_t_2, function); | |
+ __pyx_t_4 = 1; | |
+ } | |
+ } | |
+ { | |
+ PyObject *__pyx_callargs[1] = {__pyx_t_3, }; | |
+ __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); | |
+ __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 94, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_1); | |
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
+ } | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_ast, __pyx_t_1) < 0) __PYX_ERR(0, 94, __pyx_L1_error) | |
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":90 | |
- * def __init__(self): | |
- * self._ast = None | |
- * self._converters = None # <<<<<<<<<<<<<< | |
- * self._finder_src = None | |
+ /* "falcon/routing/compiled.py":95 | |
+ * def __init__(self) -> None: | |
+ * self._ast: '_CxParent' = _CxParent() | |
+ * self._converters: 'List[converters.BaseConverter]' = [] # <<<<<<<<<<<<<< | |
+ * self._finder_src: str = '' | |
* | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_converters, Py_None) < 0) __PYX_ERR(0, 90, __pyx_L1_error) | |
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 95, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_1); | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_converters, __pyx_t_1) < 0) __PYX_ERR(0, 95, __pyx_L1_error) | |
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":91 | |
- * self._ast = None | |
- * self._converters = None | |
- * self._finder_src = None # <<<<<<<<<<<<<< | |
+ /* "falcon/routing/compiled.py":96 | |
+ * self._ast: '_CxParent' = _CxParent() | |
+ * self._converters: 'List[converters.BaseConverter]' = [] | |
+ * self._finder_src: str = '' # <<<<<<<<<<<<<< | |
* | |
* self._options = CompiledRouterOptions() | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_finder_src, Py_None) < 0) __PYX_ERR(0, 91, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_finder_src, __pyx_kp_u_) < 0) __PYX_ERR(0, 96, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":93 | |
- * self._finder_src = None | |
+ /* "falcon/routing/compiled.py":98 | |
+ * self._finder_src: str = '' | |
* | |
* self._options = CompiledRouterOptions() # <<<<<<<<<<<<<< | |
* | |
* # PERF(kgriffs): This is usually an anti-pattern, but we do it | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CompiledRouterOptions); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 93, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CompiledRouterOptions); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 98, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__pyx_t_3 = NULL; | |
__pyx_t_4 = 0; | |
@@ -5104,81 +5377,95 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter___init__(C | |
PyObject *__pyx_callargs[1] = {__pyx_t_3, }; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 93, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 98, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_options, __pyx_t_1) < 0) __PYX_ERR(0, 93, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_options, __pyx_t_1) < 0) __PYX_ERR(0, 98, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":97 | |
- * # PERF(kgriffs): This is usually an anti-pattern, but we do it | |
+ /* "falcon/routing/compiled.py":103 | |
* # here to reduce lookup time. | |
- * self._converter_map = self._options.converters.data # <<<<<<<<<<<<<< | |
+ * self._converter_map: 'Dict[str, converters.BaseConverter]' = ( | |
+ * self._options.converters.data # <<<<<<<<<<<<<< | |
+ * ) | |
* | |
- * self._patterns = None | |
*/ | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_options); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 97, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_options); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 103, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_converters_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 97, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_converters_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 103, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 97, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_data); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 103, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_converter_map, __pyx_t_1) < 0) __PYX_ERR(0, 97, __pyx_L1_error) | |
+ | |
+ /* "falcon/routing/compiled.py":102 | |
+ * # PERF(kgriffs): This is usually an anti-pattern, but we do it | |
+ * # here to reduce lookup time. | |
+ * self._converter_map: 'Dict[str, converters.BaseConverter]' = ( # <<<<<<<<<<<<<< | |
+ * self._options.converters.data | |
+ * ) | |
+ */ | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_converter_map, __pyx_t_1) < 0) __PYX_ERR(0, 102, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":99 | |
- * self._converter_map = self._options.converters.data | |
+ /* "falcon/routing/compiled.py":106 | |
+ * ) | |
* | |
- * self._patterns = None # <<<<<<<<<<<<<< | |
- * self._return_values = None | |
- * self._roots = [] | |
+ * self._patterns: 'List[Pattern]' = [] # <<<<<<<<<<<<<< | |
+ * self._return_values: 'List[CompiledRouterNode]' = [] | |
+ * self._roots: 'List[CompiledRouterNode]' = [] | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_patterns, Py_None) < 0) __PYX_ERR(0, 99, __pyx_L1_error) | |
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 106, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_1); | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_patterns, __pyx_t_1) < 0) __PYX_ERR(0, 106, __pyx_L1_error) | |
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":100 | |
+ /* "falcon/routing/compiled.py":107 | |
* | |
- * self._patterns = None | |
- * self._return_values = None # <<<<<<<<<<<<<< | |
- * self._roots = [] | |
+ * self._patterns: 'List[Pattern]' = [] | |
+ * self._return_values: 'List[CompiledRouterNode]' = [] # <<<<<<<<<<<<<< | |
+ * self._roots: 'List[CompiledRouterNode]' = [] | |
* | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_return_values, Py_None) < 0) __PYX_ERR(0, 100, __pyx_L1_error) | |
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 107, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_1); | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_return_values, __pyx_t_1) < 0) __PYX_ERR(0, 107, __pyx_L1_error) | |
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":101 | |
- * self._patterns = None | |
- * self._return_values = None | |
- * self._roots = [] # <<<<<<<<<<<<<< | |
+ /* "falcon/routing/compiled.py":108 | |
+ * self._patterns: 'List[Pattern]' = [] | |
+ * self._return_values: 'List[CompiledRouterNode]' = [] | |
+ * self._roots: 'List[CompiledRouterNode]' = [] # <<<<<<<<<<<<<< | |
* | |
* # NOTE(caselit): set _find to the delayed compile method to ensure that | |
*/ | |
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 101, __pyx_L1_error) | |
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 108, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_roots, __pyx_t_1) < 0) __PYX_ERR(0, 101, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_roots, __pyx_t_1) < 0) __PYX_ERR(0, 108, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":105 | |
+ /* "falcon/routing/compiled.py":112 | |
* # NOTE(caselit): set _find to the delayed compile method to ensure that | |
* # compile is called when the router is first used | |
* self._find = self._compile_and_find # <<<<<<<<<<<<<< | |
* self._compile_lock = Lock() | |
* | |
*/ | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_compile_and_find); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 105, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_compile_and_find); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 112, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_find, __pyx_t_1) < 0) __PYX_ERR(0, 105, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_find, __pyx_t_1) < 0) __PYX_ERR(0, 112, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":106 | |
+ /* "falcon/routing/compiled.py":113 | |
* # compile is called when the router is first used | |
* self._find = self._compile_and_find | |
* self._compile_lock = Lock() # <<<<<<<<<<<<<< | |
* | |
* @property | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Lock); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 106, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Lock); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 113, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__pyx_t_3 = NULL; | |
__pyx_t_4 = 0; | |
@@ -5196,19 +5483,19 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter___init__(C | |
PyObject *__pyx_callargs[1] = {__pyx_t_3, }; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 106, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 113, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_compile_lock, __pyx_t_1) < 0) __PYX_ERR(0, 106, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_compile_lock, __pyx_t_1) < 0) __PYX_ERR(0, 113, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":88 | |
+ /* "falcon/routing/compiled.py":93 | |
* ) | |
* | |
- * def __init__(self): # <<<<<<<<<<<<<< | |
- * self._ast = None | |
- * self._converters = None | |
+ * def __init__(self) -> None: # <<<<<<<<<<<<<< | |
+ * self._ast: '_CxParent' = _CxParent() | |
+ * self._converters: 'List[converters.BaseConverter]' = [] | |
*/ | |
/* function exit code */ | |
@@ -5226,11 +5513,11 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter___init__(C | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":108 | |
+/* "falcon/routing/compiled.py":115 | |
* self._compile_lock = Lock() | |
* | |
* @property # <<<<<<<<<<<<<< | |
- * def options(self): | |
+ * def options(self) -> 'CompiledRouterOptions': | |
* return self._options | |
*/ | |
@@ -5280,12 +5567,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 108, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 115, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "options") < 0)) __PYX_ERR(0, 108, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "options") < 0)) __PYX_ERR(0, 115, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 1)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -5296,7 +5583,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("options", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 108, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("options", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 115, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled.CompiledRouter.options", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -5318,25 +5605,25 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_2options(C | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("options", 0); | |
- /* "falcon/routing/compiled.py":110 | |
+ /* "falcon/routing/compiled.py":117 | |
* @property | |
- * def options(self): | |
+ * def options(self) -> 'CompiledRouterOptions': | |
* return self._options # <<<<<<<<<<<<<< | |
* | |
* @property | |
*/ | |
__Pyx_XDECREF(__pyx_r); | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_options); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 110, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_options); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 117, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__pyx_r = __pyx_t_1; | |
__pyx_t_1 = 0; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":108 | |
+ /* "falcon/routing/compiled.py":115 | |
* self._compile_lock = Lock() | |
* | |
* @property # <<<<<<<<<<<<<< | |
- * def options(self): | |
+ * def options(self) -> 'CompiledRouterOptions': | |
* return self._options | |
*/ | |
@@ -5351,11 +5638,11 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_2options(C | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":112 | |
+/* "falcon/routing/compiled.py":119 | |
* return self._options | |
* | |
* @property # <<<<<<<<<<<<<< | |
- * def finder_src(self): | |
+ * def finder_src(self) -> str: | |
* # NOTE(caselit): ensure that the router is actually compiled before | |
*/ | |
@@ -5405,12 +5692,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 112, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 119, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "finder_src") < 0)) __PYX_ERR(0, 112, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "finder_src") < 0)) __PYX_ERR(0, 119, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 1)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -5421,7 +5708,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("finder_src", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 112, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("finder_src", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 119, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled.CompiledRouter.finder_src", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -5446,14 +5733,14 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_4finder_sr | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("finder_src", 0); | |
- /* "falcon/routing/compiled.py":117 | |
+ /* "falcon/routing/compiled.py":124 | |
* # returning the finder source, since the current value may be out of | |
* # date | |
* self.find('/') # <<<<<<<<<<<<<< | |
* return self._finder_src | |
* | |
*/ | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 117, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 124, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__pyx_t_3 = NULL; | |
__pyx_t_4 = 0; | |
@@ -5468,34 +5755,35 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_4finder_sr | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_kp_u_}; | |
+ PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_kp_u__2}; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 117, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 124, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":118 | |
+ /* "falcon/routing/compiled.py":125 | |
* # date | |
* self.find('/') | |
* return self._finder_src # <<<<<<<<<<<<<< | |
* | |
- * def map_http_methods(self, resource, **kwargs): | |
+ * def map_http_methods(self, resource: object, **kwargs): | |
*/ | |
__Pyx_XDECREF(__pyx_r); | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_finder_src); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 118, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_finder_src); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 125, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- __pyx_r = __pyx_t_1; | |
+ if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("unicode", __pyx_t_1))) __PYX_ERR(0, 125, __pyx_L1_error) | |
+ __pyx_r = ((PyObject*)__pyx_t_1); | |
__pyx_t_1 = 0; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":112 | |
+ /* "falcon/routing/compiled.py":119 | |
* return self._options | |
* | |
* @property # <<<<<<<<<<<<<< | |
- * def finder_src(self): | |
+ * def finder_src(self) -> str: | |
* # NOTE(caselit): ensure that the router is actually compiled before | |
*/ | |
@@ -5512,10 +5800,10 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_4finder_sr | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":120 | |
+/* "falcon/routing/compiled.py":127 | |
* return self._finder_src | |
* | |
- * def map_http_methods(self, resource, **kwargs): # <<<<<<<<<<<<<< | |
+ * def map_http_methods(self, resource: object, **kwargs): # <<<<<<<<<<<<<< | |
* """Map HTTP methods (e.g., GET, POST) to methods of a resource object. | |
* | |
*/ | |
@@ -5573,19 +5861,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 120, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 127, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_resource)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 120, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 127, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("map_http_methods", 1, 2, 2, 1); __PYX_ERR(0, 120, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("map_http_methods", 1, 2, 2, 1); __PYX_ERR(0, 127, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values + 0, kwd_pos_args, "map_http_methods") < 0)) __PYX_ERR(0, 120, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values + 0, kwd_pos_args, "map_http_methods") < 0)) __PYX_ERR(0, 127, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -5598,7 +5886,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("map_http_methods", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 120, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("map_http_methods", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 127, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0; | |
__Pyx_AddTraceback("falcon.routing.compiled.CompiledRouter.map_http_methods", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
@@ -5625,28 +5913,28 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_6map_http_ | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("map_http_methods", 0); | |
- /* "falcon/routing/compiled.py":147 | |
+ /* "falcon/routing/compiled.py":154 | |
* """ | |
* | |
* return map_http_methods(resource, suffix=kwargs.get('suffix', None)) # <<<<<<<<<<<<<< | |
* | |
- * def add_route(self, uri_template, resource, **kwargs): | |
+ * def add_route(self, uri_template: str, resource: object, **kwargs): | |
*/ | |
__Pyx_XDECREF(__pyx_r); | |
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_map_http_methods); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 147, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_map_http_methods); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 154, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 147, __pyx_L1_error) | |
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 154, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__Pyx_INCREF(__pyx_v_resource); | |
__Pyx_GIVEREF(__pyx_v_resource); | |
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_resource); | |
- __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 147, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 154, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_4 = __Pyx_PyDict_GetItemDefault(__pyx_v_kwargs, __pyx_n_u_suffix, Py_None); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 147, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyDict_GetItemDefault(__pyx_v_kwargs, __pyx_n_u_suffix, Py_None); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 154, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
- if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_suffix, __pyx_t_4) < 0) __PYX_ERR(0, 147, __pyx_L1_error) | |
+ if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_suffix, __pyx_t_4) < 0) __PYX_ERR(0, 154, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 147, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 154, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
@@ -5655,10 +5943,10 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_6map_http_ | |
__pyx_t_4 = 0; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":120 | |
+ /* "falcon/routing/compiled.py":127 | |
* return self._finder_src | |
* | |
- * def map_http_methods(self, resource, **kwargs): # <<<<<<<<<<<<<< | |
+ * def map_http_methods(self, resource: object, **kwargs): # <<<<<<<<<<<<<< | |
* """Map HTTP methods (e.g., GET, POST) to methods of a resource object. | |
* | |
*/ | |
@@ -5677,10 +5965,10 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_6map_http_ | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":149 | |
+/* "falcon/routing/compiled.py":156 | |
* return map_http_methods(resource, suffix=kwargs.get('suffix', None)) | |
* | |
- * def add_route(self, uri_template, resource, **kwargs): # <<<<<<<<<<<<<< | |
+ * def add_route(self, uri_template: str, resource: object, **kwargs): # <<<<<<<<<<<<<< | |
* """Add a route between a URI path template and a resource. | |
* | |
*/ | |
@@ -5741,26 +6029,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 149, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 156, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_uri_template)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 149, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 156, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("add_route", 1, 3, 3, 1); __PYX_ERR(0, 149, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("add_route", 1, 3, 3, 1); __PYX_ERR(0, 156, __pyx_L3_error) | |
} | |
CYTHON_FALLTHROUGH; | |
case 2: | |
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_resource)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 149, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 156, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("add_route", 1, 3, 3, 2); __PYX_ERR(0, 149, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("add_route", 1, 3, 3, 2); __PYX_ERR(0, 156, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values + 0, kwd_pos_args, "add_route") < 0)) __PYX_ERR(0, 149, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values + 0, kwd_pos_args, "add_route") < 0)) __PYX_ERR(0, 156, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 3)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -5770,30 +6058,35 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); | |
} | |
__pyx_v_self = values[0]; | |
- __pyx_v_uri_template = values[1]; | |
+ __pyx_v_uri_template = ((PyObject*)values[1]); | |
__pyx_v_resource = values[2]; | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("add_route", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 149, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("add_route", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 156, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0; | |
__Pyx_AddTraceback("falcon.routing.compiled.CompiledRouter.add_route", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
return NULL; | |
__pyx_L4_argument_unpacking_done:; | |
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_uri_template), (&PyUnicode_Type), 1, "uri_template", 1))) __PYX_ERR(0, 156, __pyx_L1_error) | |
__pyx_r = __pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_8add_route(__pyx_self, __pyx_v_self, __pyx_v_uri_template, __pyx_v_resource, __pyx_v_kwargs); | |
/* function exit code */ | |
+ goto __pyx_L0; | |
+ __pyx_L1_error:; | |
+ __pyx_r = NULL; | |
+ __pyx_L0:; | |
__Pyx_DECREF(__pyx_v_kwargs); | |
__Pyx_RefNannyFinishContext(); | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":210 | |
+/* "falcon/routing/compiled.py":217 | |
* self._validate_template_segment(segment, used_names) | |
* | |
- * def insert(nodes, path_index=0): # <<<<<<<<<<<<<< | |
+ * def insert(nodes: 'List[CompiledRouterNode]', path_index: int = 0): # <<<<<<<<<<<<<< | |
* for node in nodes: | |
* segment = path[path_index] | |
*/ | |
@@ -5848,19 +6141,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_nodes)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 210, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 217, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (kw_args > 0) { | |
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_path_index); | |
if (value) { values[1] = value; kw_args--; } | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 210, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 217, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "insert") < 0)) __PYX_ERR(0, 210, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "insert") < 0)) __PYX_ERR(0, 217, __pyx_L3_error) | |
} | |
} else { | |
switch (__pyx_nargs) { | |
@@ -5876,7 +6169,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("insert", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 210, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("insert", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 217, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled.CompiledRouter.add_route.insert", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -5915,9 +6208,9 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_9add_route | |
__pyx_cur_scope = __pyx_outer_scope; | |
__Pyx_INCREF(__pyx_v_path_index); | |
- /* "falcon/routing/compiled.py":211 | |
+ /* "falcon/routing/compiled.py":218 | |
* | |
- * def insert(nodes, path_index=0): | |
+ * def insert(nodes: 'List[CompiledRouterNode]', path_index: int = 0): | |
* for node in nodes: # <<<<<<<<<<<<<< | |
* segment = path[path_index] | |
* if node.matches(segment): | |
@@ -5926,26 +6219,26 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_9add_route | |
__pyx_t_1 = __pyx_v_nodes; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; | |
__pyx_t_3 = NULL; | |
} else { | |
- __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_nodes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 211, __pyx_L1_error) | |
+ __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_nodes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 218, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- __pyx_t_3 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 211, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 218, __pyx_L1_error) | |
} | |
for (;;) { | |
if (likely(!__pyx_t_3)) { | |
if (likely(PyList_CheckExact(__pyx_t_1))) { | |
if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break; | |
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
- __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(0, 211, __pyx_L1_error) | |
+ __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(0, 218, __pyx_L1_error) | |
#else | |
- __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 211, __pyx_L1_error) | |
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 218, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
#endif | |
} else { | |
if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break; | |
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
- __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(0, 211, __pyx_L1_error) | |
+ __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(0, 218, __pyx_L1_error) | |
#else | |
- __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 211, __pyx_L1_error) | |
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 218, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
#endif | |
} | |
@@ -5955,7 +6248,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_9add_route | |
PyObject* exc_type = PyErr_Occurred(); | |
if (exc_type) { | |
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); | |
- else __PYX_ERR(0, 211, __pyx_L1_error) | |
+ else __PYX_ERR(0, 218, __pyx_L1_error) | |
} | |
break; | |
} | |
@@ -5964,27 +6257,27 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_9add_route | |
__Pyx_XDECREF_SET(__pyx_v_node, __pyx_t_4); | |
__pyx_t_4 = 0; | |
- /* "falcon/routing/compiled.py":212 | |
- * def insert(nodes, path_index=0): | |
+ /* "falcon/routing/compiled.py":219 | |
+ * def insert(nodes: 'List[CompiledRouterNode]', path_index: int = 0): | |
* for node in nodes: | |
* segment = path[path_index] # <<<<<<<<<<<<<< | |
* if node.matches(segment): | |
* path_index += 1 | |
*/ | |
- if (unlikely(!__pyx_cur_scope->__pyx_v_path)) { __Pyx_RaiseClosureNameError("path"); __PYX_ERR(0, 212, __pyx_L1_error) } | |
- __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_cur_scope->__pyx_v_path, __pyx_v_path_index); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 212, __pyx_L1_error) | |
+ if (unlikely(!__pyx_cur_scope->__pyx_v_path)) { __Pyx_RaiseClosureNameError("path"); __PYX_ERR(0, 219, __pyx_L1_error) } | |
+ __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_cur_scope->__pyx_v_path, __pyx_v_path_index); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 219, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_XDECREF_SET(__pyx_v_segment, __pyx_t_4); | |
__pyx_t_4 = 0; | |
- /* "falcon/routing/compiled.py":213 | |
+ /* "falcon/routing/compiled.py":220 | |
* for node in nodes: | |
* segment = path[path_index] | |
* if node.matches(segment): # <<<<<<<<<<<<<< | |
* path_index += 1 | |
* if path_index == len(path): | |
*/ | |
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_matches); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 213, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_matches); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 220, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__pyx_t_6 = NULL; | |
__pyx_t_7 = 0; | |
@@ -6002,77 +6295,77 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_9add_route | |
PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_segment}; | |
__pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); | |
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; | |
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 213, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 220, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
} | |
- __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 213, __pyx_L1_error) | |
+ __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 220, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
if (__pyx_t_8) { | |
- /* "falcon/routing/compiled.py":214 | |
+ /* "falcon/routing/compiled.py":221 | |
* segment = path[path_index] | |
* if node.matches(segment): | |
* path_index += 1 # <<<<<<<<<<<<<< | |
* if path_index == len(path): | |
* # NOTE(kgriffs): Override previous node | |
*/ | |
- __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_v_path_index, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 214, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_v_path_index, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 221, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF_SET(__pyx_v_path_index, __pyx_t_4); | |
__pyx_t_4 = 0; | |
- /* "falcon/routing/compiled.py":215 | |
+ /* "falcon/routing/compiled.py":222 | |
* if node.matches(segment): | |
* path_index += 1 | |
* if path_index == len(path): # <<<<<<<<<<<<<< | |
* # NOTE(kgriffs): Override previous node | |
* node.method_map = method_map | |
*/ | |
- if (unlikely(!__pyx_cur_scope->__pyx_v_path)) { __Pyx_RaiseClosureNameError("path"); __PYX_ERR(0, 215, __pyx_L1_error) } | |
+ if (unlikely(!__pyx_cur_scope->__pyx_v_path)) { __Pyx_RaiseClosureNameError("path"); __PYX_ERR(0, 222, __pyx_L1_error) } | |
__pyx_t_4 = __pyx_cur_scope->__pyx_v_path; | |
__Pyx_INCREF(__pyx_t_4); | |
- __pyx_t_9 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 215, __pyx_L1_error) | |
+ __pyx_t_9 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 222, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
- __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 215, __pyx_L1_error) | |
+ __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 222, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
- __pyx_t_5 = PyObject_RichCompare(__pyx_v_path_index, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 215, __pyx_L1_error) | |
+ __pyx_t_5 = PyObject_RichCompare(__pyx_v_path_index, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 222, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
- __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 215, __pyx_L1_error) | |
+ __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 222, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
if (__pyx_t_8) { | |
- /* "falcon/routing/compiled.py":217 | |
+ /* "falcon/routing/compiled.py":224 | |
* if path_index == len(path): | |
* # NOTE(kgriffs): Override previous node | |
* node.method_map = method_map # <<<<<<<<<<<<<< | |
* node.resource = resource | |
* node.uri_template = uri_template | |
*/ | |
- if (unlikely(!__pyx_cur_scope->__pyx_v_method_map)) { __Pyx_RaiseClosureNameError("method_map"); __PYX_ERR(0, 217, __pyx_L1_error) } | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_node, __pyx_n_s_method_map, __pyx_cur_scope->__pyx_v_method_map) < 0) __PYX_ERR(0, 217, __pyx_L1_error) | |
+ if (unlikely(!__pyx_cur_scope->__pyx_v_method_map)) { __Pyx_RaiseClosureNameError("method_map"); __PYX_ERR(0, 224, __pyx_L1_error) } | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_node, __pyx_n_s_method_map, __pyx_cur_scope->__pyx_v_method_map) < 0) __PYX_ERR(0, 224, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":218 | |
+ /* "falcon/routing/compiled.py":225 | |
* # NOTE(kgriffs): Override previous node | |
* node.method_map = method_map | |
* node.resource = resource # <<<<<<<<<<<<<< | |
* node.uri_template = uri_template | |
* else: | |
*/ | |
- if (unlikely(!__pyx_cur_scope->__pyx_v_resource)) { __Pyx_RaiseClosureNameError("resource"); __PYX_ERR(0, 218, __pyx_L1_error) } | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_node, __pyx_n_s_resource, __pyx_cur_scope->__pyx_v_resource) < 0) __PYX_ERR(0, 218, __pyx_L1_error) | |
+ if (unlikely(!__pyx_cur_scope->__pyx_v_resource)) { __Pyx_RaiseClosureNameError("resource"); __PYX_ERR(0, 225, __pyx_L1_error) } | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_node, __pyx_n_s_resource, __pyx_cur_scope->__pyx_v_resource) < 0) __PYX_ERR(0, 225, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":219 | |
+ /* "falcon/routing/compiled.py":226 | |
* node.method_map = method_map | |
* node.resource = resource | |
* node.uri_template = uri_template # <<<<<<<<<<<<<< | |
* else: | |
* insert(node.children, path_index) | |
*/ | |
- if (unlikely(!__pyx_cur_scope->__pyx_v_uri_template)) { __Pyx_RaiseClosureNameError("uri_template"); __PYX_ERR(0, 219, __pyx_L1_error) } | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_node, __pyx_n_s_uri_template, __pyx_cur_scope->__pyx_v_uri_template) < 0) __PYX_ERR(0, 219, __pyx_L1_error) | |
+ if (unlikely(!__pyx_cur_scope->__pyx_v_uri_template)) { __Pyx_RaiseClosureNameError("uri_template"); __PYX_ERR(0, 226, __pyx_L1_error) } | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_node, __pyx_n_s_uri_template, __pyx_cur_scope->__pyx_v_uri_template) < 0) __PYX_ERR(0, 226, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":215 | |
+ /* "falcon/routing/compiled.py":222 | |
* if node.matches(segment): | |
* path_index += 1 | |
* if path_index == len(path): # <<<<<<<<<<<<<< | |
@@ -6082,7 +6375,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_9add_route | |
goto __pyx_L6; | |
} | |
- /* "falcon/routing/compiled.py":221 | |
+ /* "falcon/routing/compiled.py":228 | |
* node.uri_template = uri_template | |
* else: | |
* insert(node.children, path_index) # <<<<<<<<<<<<<< | |
@@ -6090,17 +6383,17 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_9add_route | |
* return | |
*/ | |
/*else*/ { | |
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_children); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 221, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_children); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 228, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
- if (unlikely(!__pyx_cur_scope->__pyx_v_insert)) { __Pyx_RaiseClosureNameError("insert"); __PYX_ERR(0, 221, __pyx_L1_error) } | |
- __pyx_t_4 = __pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_9add_route_insert(__pyx_cur_scope->__pyx_v_insert, __pyx_t_5, __pyx_v_path_index); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 221, __pyx_L1_error) | |
+ if (unlikely(!__pyx_cur_scope->__pyx_v_insert)) { __Pyx_RaiseClosureNameError("insert"); __PYX_ERR(0, 228, __pyx_L1_error) } | |
+ __pyx_t_4 = __pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_9add_route_insert(__pyx_cur_scope->__pyx_v_insert, __pyx_t_5, __pyx_v_path_index); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 228, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
} | |
__pyx_L6:; | |
- /* "falcon/routing/compiled.py":223 | |
+ /* "falcon/routing/compiled.py":230 | |
* insert(node.children, path_index) | |
* | |
* return # <<<<<<<<<<<<<< | |
@@ -6112,7 +6405,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_9add_route | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":213 | |
+ /* "falcon/routing/compiled.py":220 | |
* for node in nodes: | |
* segment = path[path_index] | |
* if node.matches(segment): # <<<<<<<<<<<<<< | |
@@ -6121,14 +6414,14 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_9add_route | |
*/ | |
} | |
- /* "falcon/routing/compiled.py":225 | |
+ /* "falcon/routing/compiled.py":232 | |
* return | |
* | |
* if node.conflicts_with(segment): # <<<<<<<<<<<<<< | |
* raise ValueError( | |
* 'The URI template for this route is inconsistent or conflicts ' | |
*/ | |
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_conflicts_with); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 225, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_conflicts_with); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 232, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__pyx_t_6 = NULL; | |
__pyx_t_7 = 0; | |
@@ -6146,28 +6439,28 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_9add_route | |
PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_segment}; | |
__pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); | |
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; | |
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 225, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 232, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
} | |
- __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 225, __pyx_L1_error) | |
+ __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 232, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
if (unlikely(__pyx_t_8)) { | |
- /* "falcon/routing/compiled.py":226 | |
+ /* "falcon/routing/compiled.py":233 | |
* | |
* if node.conflicts_with(segment): | |
* raise ValueError( # <<<<<<<<<<<<<< | |
* 'The URI template for this route is inconsistent or conflicts ' | |
* "with another route's template. This is usually caused by " | |
*/ | |
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 226, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 233, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_Raise(__pyx_t_4, 0, 0, 0); | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
- __PYX_ERR(0, 226, __pyx_L1_error) | |
+ __PYX_ERR(0, 233, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":225 | |
+ /* "falcon/routing/compiled.py":232 | |
* return | |
* | |
* if node.conflicts_with(segment): # <<<<<<<<<<<<<< | |
@@ -6176,9 +6469,9 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_9add_route | |
*/ | |
} | |
- /* "falcon/routing/compiled.py":211 | |
+ /* "falcon/routing/compiled.py":218 | |
* | |
- * def insert(nodes, path_index=0): | |
+ * def insert(nodes: 'List[CompiledRouterNode]', path_index: int = 0): | |
* for node in nodes: # <<<<<<<<<<<<<< | |
* segment = path[path_index] | |
* if node.matches(segment): | |
@@ -6186,17 +6479,17 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_9add_route | |
} | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":238 | |
+ /* "falcon/routing/compiled.py":245 | |
* # exist and needs to be created. This builds a new branch of the | |
* # routing tree recursively until it reaches the new node leaf. | |
* new_node = CompiledRouterNode(path[path_index]) # <<<<<<<<<<<<<< | |
* nodes.append(new_node) | |
* if path_index == len(path) - 1: | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CompiledRouterNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 238, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CompiledRouterNode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 245, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
- if (unlikely(!__pyx_cur_scope->__pyx_v_path)) { __Pyx_RaiseClosureNameError("path"); __PYX_ERR(0, 238, __pyx_L1_error) } | |
- __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_cur_scope->__pyx_v_path, __pyx_v_path_index); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 238, __pyx_L1_error) | |
+ if (unlikely(!__pyx_cur_scope->__pyx_v_path)) { __Pyx_RaiseClosureNameError("path"); __PYX_ERR(0, 245, __pyx_L1_error) } | |
+ __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_cur_scope->__pyx_v_path, __pyx_v_path_index); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 245, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__pyx_t_6 = NULL; | |
__pyx_t_7 = 0; | |
@@ -6215,73 +6508,73 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_9add_route | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); | |
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 238, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 245, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
} | |
__pyx_v_new_node = __pyx_t_1; | |
__pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":239 | |
+ /* "falcon/routing/compiled.py":246 | |
* # routing tree recursively until it reaches the new node leaf. | |
* new_node = CompiledRouterNode(path[path_index]) | |
* nodes.append(new_node) # <<<<<<<<<<<<<< | |
* if path_index == len(path) - 1: | |
* new_node.method_map = method_map | |
*/ | |
- __pyx_t_10 = __Pyx_PyObject_Append(__pyx_v_nodes, __pyx_v_new_node); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(0, 239, __pyx_L1_error) | |
+ __pyx_t_10 = __Pyx_PyObject_Append(__pyx_v_nodes, __pyx_v_new_node); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(0, 246, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":240 | |
+ /* "falcon/routing/compiled.py":247 | |
* new_node = CompiledRouterNode(path[path_index]) | |
* nodes.append(new_node) | |
* if path_index == len(path) - 1: # <<<<<<<<<<<<<< | |
* new_node.method_map = method_map | |
* new_node.resource = resource | |
*/ | |
- if (unlikely(!__pyx_cur_scope->__pyx_v_path)) { __Pyx_RaiseClosureNameError("path"); __PYX_ERR(0, 240, __pyx_L1_error) } | |
+ if (unlikely(!__pyx_cur_scope->__pyx_v_path)) { __Pyx_RaiseClosureNameError("path"); __PYX_ERR(0, 247, __pyx_L1_error) } | |
__pyx_t_1 = __pyx_cur_scope->__pyx_v_path; | |
__Pyx_INCREF(__pyx_t_1); | |
- __pyx_t_2 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(0, 240, __pyx_L1_error) | |
+ __pyx_t_2 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(0, 247, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- __pyx_t_1 = PyInt_FromSsize_t((__pyx_t_2 - 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 240, __pyx_L1_error) | |
+ __pyx_t_1 = PyInt_FromSsize_t((__pyx_t_2 - 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 247, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- __pyx_t_4 = PyObject_RichCompare(__pyx_v_path_index, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 240, __pyx_L1_error) | |
+ __pyx_t_4 = PyObject_RichCompare(__pyx_v_path_index, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 247, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 240, __pyx_L1_error) | |
+ __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 247, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
if (__pyx_t_8) { | |
- /* "falcon/routing/compiled.py":241 | |
+ /* "falcon/routing/compiled.py":248 | |
* nodes.append(new_node) | |
* if path_index == len(path) - 1: | |
* new_node.method_map = method_map # <<<<<<<<<<<<<< | |
* new_node.resource = resource | |
* new_node.uri_template = uri_template | |
*/ | |
- if (unlikely(!__pyx_cur_scope->__pyx_v_method_map)) { __Pyx_RaiseClosureNameError("method_map"); __PYX_ERR(0, 241, __pyx_L1_error) } | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_new_node, __pyx_n_s_method_map, __pyx_cur_scope->__pyx_v_method_map) < 0) __PYX_ERR(0, 241, __pyx_L1_error) | |
+ if (unlikely(!__pyx_cur_scope->__pyx_v_method_map)) { __Pyx_RaiseClosureNameError("method_map"); __PYX_ERR(0, 248, __pyx_L1_error) } | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_new_node, __pyx_n_s_method_map, __pyx_cur_scope->__pyx_v_method_map) < 0) __PYX_ERR(0, 248, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":242 | |
+ /* "falcon/routing/compiled.py":249 | |
* if path_index == len(path) - 1: | |
* new_node.method_map = method_map | |
* new_node.resource = resource # <<<<<<<<<<<<<< | |
* new_node.uri_template = uri_template | |
* else: | |
*/ | |
- if (unlikely(!__pyx_cur_scope->__pyx_v_resource)) { __Pyx_RaiseClosureNameError("resource"); __PYX_ERR(0, 242, __pyx_L1_error) } | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_new_node, __pyx_n_s_resource, __pyx_cur_scope->__pyx_v_resource) < 0) __PYX_ERR(0, 242, __pyx_L1_error) | |
+ if (unlikely(!__pyx_cur_scope->__pyx_v_resource)) { __Pyx_RaiseClosureNameError("resource"); __PYX_ERR(0, 249, __pyx_L1_error) } | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_new_node, __pyx_n_s_resource, __pyx_cur_scope->__pyx_v_resource) < 0) __PYX_ERR(0, 249, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":243 | |
+ /* "falcon/routing/compiled.py":250 | |
* new_node.method_map = method_map | |
* new_node.resource = resource | |
* new_node.uri_template = uri_template # <<<<<<<<<<<<<< | |
* else: | |
* insert(new_node.children, path_index + 1) | |
*/ | |
- if (unlikely(!__pyx_cur_scope->__pyx_v_uri_template)) { __Pyx_RaiseClosureNameError("uri_template"); __PYX_ERR(0, 243, __pyx_L1_error) } | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_new_node, __pyx_n_s_uri_template, __pyx_cur_scope->__pyx_v_uri_template) < 0) __PYX_ERR(0, 243, __pyx_L1_error) | |
+ if (unlikely(!__pyx_cur_scope->__pyx_v_uri_template)) { __Pyx_RaiseClosureNameError("uri_template"); __PYX_ERR(0, 250, __pyx_L1_error) } | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_new_node, __pyx_n_s_uri_template, __pyx_cur_scope->__pyx_v_uri_template) < 0) __PYX_ERR(0, 250, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":240 | |
+ /* "falcon/routing/compiled.py":247 | |
* new_node = CompiledRouterNode(path[path_index]) | |
* nodes.append(new_node) | |
* if path_index == len(path) - 1: # <<<<<<<<<<<<<< | |
@@ -6291,7 +6584,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_9add_route | |
goto __pyx_L8; | |
} | |
- /* "falcon/routing/compiled.py":245 | |
+ /* "falcon/routing/compiled.py":252 | |
* new_node.uri_template = uri_template | |
* else: | |
* insert(new_node.children, path_index + 1) # <<<<<<<<<<<<<< | |
@@ -6299,12 +6592,12 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_9add_route | |
* insert(self._roots) | |
*/ | |
/*else*/ { | |
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_new_node, __pyx_n_s_children); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 245, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_new_node, __pyx_n_s_children); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 252, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
- __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_v_path_index, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 245, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_v_path_index, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 252, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- if (unlikely(!__pyx_cur_scope->__pyx_v_insert)) { __Pyx_RaiseClosureNameError("insert"); __PYX_ERR(0, 245, __pyx_L1_error) } | |
- __pyx_t_5 = __pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_9add_route_insert(__pyx_cur_scope->__pyx_v_insert, __pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 245, __pyx_L1_error) | |
+ if (unlikely(!__pyx_cur_scope->__pyx_v_insert)) { __Pyx_RaiseClosureNameError("insert"); __PYX_ERR(0, 252, __pyx_L1_error) } | |
+ __pyx_t_5 = __pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_9add_route_insert(__pyx_cur_scope->__pyx_v_insert, __pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 252, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
@@ -6312,10 +6605,10 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_9add_route | |
} | |
__pyx_L8:; | |
- /* "falcon/routing/compiled.py":210 | |
+ /* "falcon/routing/compiled.py":217 | |
* self._validate_template_segment(segment, used_names) | |
* | |
- * def insert(nodes, path_index=0): # <<<<<<<<<<<<<< | |
+ * def insert(nodes: 'List[CompiledRouterNode]', path_index: int = 0): # <<<<<<<<<<<<<< | |
* for node in nodes: | |
* segment = path[path_index] | |
*/ | |
@@ -6340,10 +6633,10 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_9add_route | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":149 | |
+/* "falcon/routing/compiled.py":156 | |
* return map_http_methods(resource, suffix=kwargs.get('suffix', None)) | |
* | |
- * def add_route(self, uri_template, resource, **kwargs): # <<<<<<<<<<<<<< | |
+ * def add_route(self, uri_template: str, resource: object, **kwargs): # <<<<<<<<<<<<<< | |
* """Add a route between a URI path template and a resource. | |
* | |
*/ | |
@@ -6372,7 +6665,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_8add_route | |
if (unlikely(!__pyx_cur_scope)) { | |
__pyx_cur_scope = ((struct __pyx_obj_6falcon_7routing_8compiled___pyx_scope_struct__add_route *)Py_None); | |
__Pyx_INCREF(Py_None); | |
- __PYX_ERR(0, 149, __pyx_L1_error) | |
+ __PYX_ERR(0, 156, __pyx_L1_error) | |
} else { | |
__Pyx_GOTREF((PyObject *)__pyx_cur_scope); | |
} | |
@@ -6383,35 +6676,35 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_8add_route | |
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_resource); | |
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_resource); | |
- /* "falcon/routing/compiled.py":188 | |
+ /* "falcon/routing/compiled.py":195 | |
* # NOTE(kgriffs): falcon.asgi.App injects this private kwarg; it is | |
* # only intended to be used internally. | |
* asgi = kwargs.get('_asgi', False) # <<<<<<<<<<<<<< | |
* | |
* method_map = self.map_http_methods(resource, **kwargs) | |
*/ | |
- __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_kwargs, __pyx_n_u_asgi, Py_False); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 188, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_kwargs, __pyx_n_u_asgi, Py_False); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 195, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__pyx_v_asgi = __pyx_t_1; | |
__pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":190 | |
+ /* "falcon/routing/compiled.py":197 | |
* asgi = kwargs.get('_asgi', False) | |
* | |
* method_map = self.map_http_methods(resource, **kwargs) # <<<<<<<<<<<<<< | |
* | |
* set_default_responders(method_map, asgi=asgi) | |
*/ | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_map_http_methods); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 190, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_map_http_methods); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 197, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 190, __pyx_L1_error) | |
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 197, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_resource); | |
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_resource); | |
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_cur_scope->__pyx_v_resource); | |
- __pyx_t_3 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 190, __pyx_L1_error) | |
+ __pyx_t_3 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 197, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 190, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 197, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
@@ -6420,48 +6713,48 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_8add_route | |
__pyx_cur_scope->__pyx_v_method_map = __pyx_t_4; | |
__pyx_t_4 = 0; | |
- /* "falcon/routing/compiled.py":192 | |
+ /* "falcon/routing/compiled.py":199 | |
* method_map = self.map_http_methods(resource, **kwargs) | |
* | |
* set_default_responders(method_map, asgi=asgi) # <<<<<<<<<<<<<< | |
* | |
* if asgi: | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_set_default_responders); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 192, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_set_default_responders); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 199, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 192, __pyx_L1_error) | |
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 199, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_method_map); | |
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_method_map); | |
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_cur_scope->__pyx_v_method_map); | |
- __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 192, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 199, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_asgi_2, __pyx_v_asgi) < 0) __PYX_ERR(0, 192, __pyx_L1_error) | |
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 192, __pyx_L1_error) | |
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_asgi_2, __pyx_v_asgi) < 0) __PYX_ERR(0, 199, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 199, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":194 | |
+ /* "falcon/routing/compiled.py":201 | |
* set_default_responders(method_map, asgi=asgi) | |
* | |
* if asgi: # <<<<<<<<<<<<<< | |
* self._require_coroutine_responders(method_map) | |
* else: | |
*/ | |
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_asgi); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 194, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_asgi); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 201, __pyx_L1_error) | |
if (__pyx_t_5) { | |
- /* "falcon/routing/compiled.py":195 | |
+ /* "falcon/routing/compiled.py":202 | |
* | |
* if asgi: | |
* self._require_coroutine_responders(method_map) # <<<<<<<<<<<<<< | |
* else: | |
* self._require_non_coroutine_responders(method_map) | |
*/ | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_require_coroutine_responders); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 195, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_require_coroutine_responders); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 202, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__pyx_t_3 = NULL; | |
__pyx_t_6 = 0; | |
@@ -6479,13 +6772,13 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_8add_route | |
PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_cur_scope->__pyx_v_method_map}; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 195, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 202, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":194 | |
+ /* "falcon/routing/compiled.py":201 | |
* set_default_responders(method_map, asgi=asgi) | |
* | |
* if asgi: # <<<<<<<<<<<<<< | |
@@ -6495,7 +6788,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_8add_route | |
goto __pyx_L3; | |
} | |
- /* "falcon/routing/compiled.py":197 | |
+ /* "falcon/routing/compiled.py":204 | |
* self._require_coroutine_responders(method_map) | |
* else: | |
* self._require_non_coroutine_responders(method_map) # <<<<<<<<<<<<<< | |
@@ -6503,7 +6796,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_8add_route | |
* # NOTE(kgriffs): Fields may have whitespace in them, so sub | |
*/ | |
/*else*/ { | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_require_non_coroutine_responder); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 197, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_require_non_coroutine_responder); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 204, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__pyx_t_3 = NULL; | |
__pyx_t_6 = 0; | |
@@ -6521,7 +6814,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_8add_route | |
PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_cur_scope->__pyx_v_method_map}; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 197, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 204, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
@@ -6529,21 +6822,21 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_8add_route | |
} | |
__pyx_L3:; | |
- /* "falcon/routing/compiled.py":201 | |
+ /* "falcon/routing/compiled.py":208 | |
* # NOTE(kgriffs): Fields may have whitespace in them, so sub | |
* # those before checking the rest of the URI template. | |
* if re.search(r'\s', _FIELD_PATTERN.sub('{FIELD}', uri_template)): # <<<<<<<<<<<<<< | |
* raise ValueError('URI templates may not include whitespace.') | |
* | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_re); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 201, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_re); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 208, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_search); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 201, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_search); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 208, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_FIELD_PATTERN); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 201, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_FIELD_PATTERN); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 208, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_sub); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 201, __pyx_L1_error) | |
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_sub); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 208, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
__pyx_t_4 = NULL; | |
@@ -6562,7 +6855,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_8add_route | |
PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_kp_u_FIELD, __pyx_cur_scope->__pyx_v_uri_template}; | |
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_6, 2+__pyx_t_6); | |
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; | |
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 201, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 208, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
} | |
@@ -6583,28 +6876,28 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_8add_route | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 2+__pyx_t_6); | |
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 201, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 208, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 201, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 208, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
if (unlikely(__pyx_t_5)) { | |
- /* "falcon/routing/compiled.py":202 | |
+ /* "falcon/routing/compiled.py":209 | |
* # those before checking the rest of the URI template. | |
* if re.search(r'\s', _FIELD_PATTERN.sub('{FIELD}', uri_template)): | |
* raise ValueError('URI templates may not include whitespace.') # <<<<<<<<<<<<<< | |
* | |
* path = uri_template.lstrip('/').split('/') | |
*/ | |
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 202, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 209, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_Raise(__pyx_t_1, 0, 0, 0); | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- __PYX_ERR(0, 202, __pyx_L1_error) | |
+ __PYX_ERR(0, 209, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":201 | |
+ /* "falcon/routing/compiled.py":208 | |
* # NOTE(kgriffs): Fields may have whitespace in them, so sub | |
* # those before checking the rest of the URI template. | |
* if re.search(r'\s', _FIELD_PATTERN.sub('{FIELD}', uri_template)): # <<<<<<<<<<<<<< | |
@@ -6613,36 +6906,16 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_8add_route | |
*/ | |
} | |
- /* "falcon/routing/compiled.py":204 | |
+ /* "falcon/routing/compiled.py":211 | |
* raise ValueError('URI templates may not include whitespace.') | |
* | |
* path = uri_template.lstrip('/').split('/') # <<<<<<<<<<<<<< | |
* | |
- * used_names = set() | |
+ * used_names: 'Set[str]' = set() | |
*/ | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_uri_template, __pyx_n_s_lstrip); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 204, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_2); | |
- __pyx_t_7 = NULL; | |
- __pyx_t_6 = 0; | |
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { | |
- __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2); | |
- if (likely(__pyx_t_7)) { | |
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); | |
- __Pyx_INCREF(__pyx_t_7); | |
- __Pyx_INCREF(function); | |
- __Pyx_DECREF_SET(__pyx_t_2, function); | |
- __pyx_t_6 = 1; | |
- } | |
- } | |
- { | |
- PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_kp_u_}; | |
- __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
- __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; | |
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 204, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_3); | |
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- } | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 204, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyUnicode_Type_lstrip, __pyx_cur_scope->__pyx_v_uri_template, __pyx_kp_u__2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 211, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_3); | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 211, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
__pyx_t_3 = NULL; | |
@@ -6658,10 +6931,10 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_8add_route | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_kp_u_}; | |
+ PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_kp_u__2}; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 204, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 211, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
@@ -6669,21 +6942,21 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_8add_route | |
__pyx_cur_scope->__pyx_v_path = __pyx_t_1; | |
__pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":206 | |
+ /* "falcon/routing/compiled.py":213 | |
* path = uri_template.lstrip('/').split('/') | |
* | |
- * used_names = set() # <<<<<<<<<<<<<< | |
+ * used_names: 'Set[str]' = set() # <<<<<<<<<<<<<< | |
* for segment in path: | |
* self._validate_template_segment(segment, used_names) | |
*/ | |
- __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 206, __pyx_L1_error) | |
+ __pyx_t_1 = PySet_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 213, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__pyx_v_used_names = ((PyObject*)__pyx_t_1); | |
__pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":207 | |
+ /* "falcon/routing/compiled.py":214 | |
* | |
- * used_names = set() | |
+ * used_names: 'Set[str]' = set() | |
* for segment in path: # <<<<<<<<<<<<<< | |
* self._validate_template_segment(segment, used_names) | |
* | |
@@ -6692,26 +6965,26 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_8add_route | |
__pyx_t_1 = __pyx_cur_scope->__pyx_v_path; __Pyx_INCREF(__pyx_t_1); __pyx_t_8 = 0; | |
__pyx_t_9 = NULL; | |
} else { | |
- __pyx_t_8 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_v_path); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 207, __pyx_L1_error) | |
+ __pyx_t_8 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_v_path); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 214, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- __pyx_t_9 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 207, __pyx_L1_error) | |
+ __pyx_t_9 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 214, __pyx_L1_error) | |
} | |
for (;;) { | |
if (likely(!__pyx_t_9)) { | |
if (likely(PyList_CheckExact(__pyx_t_1))) { | |
if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_1)) break; | |
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
- __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_8); __Pyx_INCREF(__pyx_t_2); __pyx_t_8++; if (unlikely((0 < 0))) __PYX_ERR(0, 207, __pyx_L1_error) | |
+ __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_8); __Pyx_INCREF(__pyx_t_2); __pyx_t_8++; if (unlikely((0 < 0))) __PYX_ERR(0, 214, __pyx_L1_error) | |
#else | |
- __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 207, __pyx_L1_error) | |
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 214, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
#endif | |
} else { | |
if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_1)) break; | |
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
- __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_8); __Pyx_INCREF(__pyx_t_2); __pyx_t_8++; if (unlikely((0 < 0))) __PYX_ERR(0, 207, __pyx_L1_error) | |
+ __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_8); __Pyx_INCREF(__pyx_t_2); __pyx_t_8++; if (unlikely((0 < 0))) __PYX_ERR(0, 214, __pyx_L1_error) | |
#else | |
- __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 207, __pyx_L1_error) | |
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 214, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
#endif | |
} | |
@@ -6721,7 +6994,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_8add_route | |
PyObject* exc_type = PyErr_Occurred(); | |
if (exc_type) { | |
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); | |
- else __PYX_ERR(0, 207, __pyx_L1_error) | |
+ else __PYX_ERR(0, 214, __pyx_L1_error) | |
} | |
break; | |
} | |
@@ -6730,14 +7003,14 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_8add_route | |
__Pyx_XDECREF_SET(__pyx_v_segment, __pyx_t_2); | |
__pyx_t_2 = 0; | |
- /* "falcon/routing/compiled.py":208 | |
- * used_names = set() | |
+ /* "falcon/routing/compiled.py":215 | |
+ * used_names: 'Set[str]' = set() | |
* for segment in path: | |
* self._validate_template_segment(segment, used_names) # <<<<<<<<<<<<<< | |
* | |
- * def insert(nodes, path_index=0): | |
+ * def insert(nodes: 'List[CompiledRouterNode]', path_index: int = 0): | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_validate_template_segment); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 208, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_validate_template_segment); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 215, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__pyx_t_7 = NULL; | |
__pyx_t_6 = 0; | |
@@ -6755,15 +7028,15 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_8add_route | |
PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_v_segment, __pyx_v_used_names}; | |
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 2+__pyx_t_6); | |
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; | |
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 208, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 215, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- /* "falcon/routing/compiled.py":207 | |
+ /* "falcon/routing/compiled.py":214 | |
* | |
- * used_names = set() | |
+ * used_names: 'Set[str]' = set() | |
* for segment in path: # <<<<<<<<<<<<<< | |
* self._validate_template_segment(segment, used_names) | |
* | |
@@ -6771,80 +7044,86 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_8add_route | |
} | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":210 | |
+ /* "falcon/routing/compiled.py":217 | |
* self._validate_template_segment(segment, used_names) | |
* | |
- * def insert(nodes, path_index=0): # <<<<<<<<<<<<<< | |
+ * def insert(nodes: 'List[CompiledRouterNode]', path_index: int = 0): # <<<<<<<<<<<<<< | |
* for node in nodes: | |
* segment = path[path_index] | |
*/ | |
- __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_6falcon_7routing_8compiled_14CompiledRouter_9add_route_1insert, 0, __pyx_n_s_CompiledRouter_add_route_locals, ((PyObject*)__pyx_cur_scope), __pyx_n_s_falcon_routing_compiled, __pyx_d, ((PyObject *)__pyx_codeobj__5)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 210, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 217, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_1, __pyx_tuple__6); | |
- __Pyx_GIVEREF(__pyx_t_1); | |
- __pyx_cur_scope->__pyx_v_insert = __pyx_t_1; | |
- __pyx_t_1 = 0; | |
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_nodes, __pyx_kp_s_List_CompiledRouterNode) < 0) __PYX_ERR(0, 217, __pyx_L1_error) | |
+ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_path_index, __pyx_n_s_int) < 0) __PYX_ERR(0, 217, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_6falcon_7routing_8compiled_14CompiledRouter_9add_route_1insert, 0, __pyx_n_s_CompiledRouter_add_route_locals, ((PyObject*)__pyx_cur_scope), __pyx_n_s_falcon_routing_compiled, __pyx_d, ((PyObject *)__pyx_codeobj__6)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 217, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_2); | |
+ __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_tuple__7); | |
+ __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_1); | |
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
+ __Pyx_GIVEREF(__pyx_t_2); | |
+ __pyx_cur_scope->__pyx_v_insert = __pyx_t_2; | |
+ __pyx_t_2 = 0; | |
- /* "falcon/routing/compiled.py":247 | |
+ /* "falcon/routing/compiled.py":254 | |
* insert(new_node.children, path_index + 1) | |
* | |
* insert(self._roots) # <<<<<<<<<<<<<< | |
* # NOTE(caselit): when compile is True run the actual compile step, otherwise | |
* # reset the _find, so that _compile will be called on the next find use | |
*/ | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_roots); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 247, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_1); | |
- __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_cur_scope->__pyx_v_insert, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 247, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_roots); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 254, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
+ __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_cur_scope->__pyx_v_insert, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 254, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":250 | |
+ /* "falcon/routing/compiled.py":257 | |
* # NOTE(caselit): when compile is True run the actual compile step, otherwise | |
* # reset the _find, so that _compile will be called on the next find use | |
* if kwargs.get('compile', False): # <<<<<<<<<<<<<< | |
* self._find = self._compile() | |
* else: | |
*/ | |
- __pyx_t_2 = __Pyx_PyDict_GetItemDefault(__pyx_v_kwargs, __pyx_n_u_compile, Py_False); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 250, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_2); | |
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 250, __pyx_L1_error) | |
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
+ __pyx_t_1 = __Pyx_PyDict_GetItemDefault(__pyx_v_kwargs, __pyx_n_u_compile, Py_False); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 257, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_1); | |
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 257, __pyx_L1_error) | |
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
if (__pyx_t_5) { | |
- /* "falcon/routing/compiled.py":251 | |
+ /* "falcon/routing/compiled.py":258 | |
* # reset the _find, so that _compile will be called on the next find use | |
* if kwargs.get('compile', False): | |
* self._find = self._compile() # <<<<<<<<<<<<<< | |
* else: | |
* self._find = self._compile_and_find | |
*/ | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_compile_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 251, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_1); | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_compile_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 258, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_2); | |
__pyx_t_3 = NULL; | |
__pyx_t_6 = 0; | |
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { | |
- __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); | |
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { | |
+ __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); | |
if (likely(__pyx_t_3)) { | |
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); | |
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); | |
__Pyx_INCREF(__pyx_t_3); | |
__Pyx_INCREF(function); | |
- __Pyx_DECREF_SET(__pyx_t_1, function); | |
+ __Pyx_DECREF_SET(__pyx_t_2, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
PyObject *__pyx_callargs[1] = {__pyx_t_3, }; | |
- __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6); | |
+ __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6); | |
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 251, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_2); | |
- __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 258, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_1); | |
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_find, __pyx_t_2) < 0) __PYX_ERR(0, 251, __pyx_L1_error) | |
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_find, __pyx_t_1) < 0) __PYX_ERR(0, 258, __pyx_L1_error) | |
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":250 | |
+ /* "falcon/routing/compiled.py":257 | |
* # NOTE(caselit): when compile is True run the actual compile step, otherwise | |
* # reset the _find, so that _compile will be called on the next find use | |
* if kwargs.get('compile', False): # <<<<<<<<<<<<<< | |
@@ -6854,25 +7133,25 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_8add_route | |
goto __pyx_L7; | |
} | |
- /* "falcon/routing/compiled.py":253 | |
+ /* "falcon/routing/compiled.py":260 | |
* self._find = self._compile() | |
* else: | |
* self._find = self._compile_and_find # <<<<<<<<<<<<<< | |
* | |
- * def find(self, uri, req=None): | |
+ * def find(self, uri: str, req: 'Optional[Request]' = None): | |
*/ | |
/*else*/ { | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_compile_and_find); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 253, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_2); | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_find, __pyx_t_2) < 0) __PYX_ERR(0, 253, __pyx_L1_error) | |
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_compile_and_find); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 260, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_1); | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_find, __pyx_t_1) < 0) __PYX_ERR(0, 260, __pyx_L1_error) | |
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
} | |
__pyx_L7:; | |
- /* "falcon/routing/compiled.py":149 | |
+ /* "falcon/routing/compiled.py":156 | |
* return map_http_methods(resource, suffix=kwargs.get('suffix', None)) | |
* | |
- * def add_route(self, uri_template, resource, **kwargs): # <<<<<<<<<<<<<< | |
+ * def add_route(self, uri_template: str, resource: object, **kwargs): # <<<<<<<<<<<<<< | |
* """Add a route between a URI path template and a resource. | |
* | |
*/ | |
@@ -6898,10 +7177,10 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_8add_route | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":255 | |
+/* "falcon/routing/compiled.py":262 | |
* self._find = self._compile_and_find | |
* | |
- * def find(self, uri, req=None): # <<<<<<<<<<<<<< | |
+ * def find(self, uri: str, req: 'Optional[Request]' = None): # <<<<<<<<<<<<<< | |
* """Search for a route that matches the given partial URI. | |
* | |
*/ | |
@@ -6960,26 +7239,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 255, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 262, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_uri)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 255, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 262, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("find", 0, 2, 3, 1); __PYX_ERR(0, 255, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("find", 0, 2, 3, 1); __PYX_ERR(0, 262, __pyx_L3_error) | |
} | |
CYTHON_FALLTHROUGH; | |
case 2: | |
if (kw_args > 0) { | |
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_req); | |
if (value) { values[2] = value; kw_args--; } | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 255, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 262, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "find") < 0)) __PYX_ERR(0, 255, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "find") < 0)) __PYX_ERR(0, 262, __pyx_L3_error) | |
} | |
} else { | |
switch (__pyx_nargs) { | |
@@ -6992,20 +7271,25 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
} | |
__pyx_v_self = values[0]; | |
- __pyx_v_uri = values[1]; | |
+ __pyx_v_uri = ((PyObject*)values[1]); | |
__pyx_v_req = values[2]; | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("find", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 255, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("find", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 262, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled.CompiledRouter.find", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
return NULL; | |
__pyx_L4_argument_unpacking_done:; | |
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_uri), (&PyUnicode_Type), 1, "uri", 1))) __PYX_ERR(0, 262, __pyx_L1_error) | |
__pyx_r = __pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_10find(__pyx_self, __pyx_v_self, __pyx_v_uri, __pyx_v_req); | |
/* function exit code */ | |
+ goto __pyx_L0; | |
+ __pyx_L1_error:; | |
+ __pyx_r = NULL; | |
+ __pyx_L0:; | |
__Pyx_RefNannyFinishContext(); | |
return __pyx_r; | |
} | |
@@ -7019,8 +7303,8 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_10find(CYT | |
PyObject *__pyx_t_1 = NULL; | |
PyObject *__pyx_t_2 = NULL; | |
PyObject *__pyx_t_3 = NULL; | |
- PyObject *__pyx_t_4 = NULL; | |
- int __pyx_t_5; | |
+ int __pyx_t_4; | |
+ PyObject *__pyx_t_5 = NULL; | |
PyObject *__pyx_t_6 = NULL; | |
PyObject *__pyx_t_7 = NULL; | |
int __pyx_t_8; | |
@@ -7030,40 +7314,20 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_10find(CYT | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("find", 0); | |
- /* "falcon/routing/compiled.py":273 | |
+ /* "falcon/routing/compiled.py":280 | |
* """ | |
* | |
* path = uri.lstrip('/').split('/') # <<<<<<<<<<<<<< | |
- * params = {} | |
- * node = self._find( | |
+ * params: 'Dict[str, Any]' = {} | |
+ * node: 'Optional[CompiledRouterNode]' = self._find( | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_uri, __pyx_n_s_lstrip); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 273, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_4 = NULL; | |
- __pyx_t_5 = 0; | |
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { | |
- __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); | |
- if (likely(__pyx_t_4)) { | |
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); | |
- __Pyx_INCREF(__pyx_t_4); | |
- __Pyx_INCREF(function); | |
- __Pyx_DECREF_SET(__pyx_t_3, function); | |
- __pyx_t_5 = 1; | |
- } | |
- } | |
- { | |
- PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_kp_u_}; | |
- __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); | |
- __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; | |
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 273, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_2); | |
- __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- } | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 273, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyUnicode_Type_lstrip, __pyx_v_uri, __pyx_kp_u__2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 280, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_2); | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 280, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
__pyx_t_2 = NULL; | |
- __pyx_t_5 = 0; | |
+ __pyx_t_4 = 0; | |
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { | |
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); | |
if (likely(__pyx_t_2)) { | |
@@ -7071,57 +7335,57 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_10find(CYT | |
__Pyx_INCREF(__pyx_t_2); | |
__Pyx_INCREF(function); | |
__Pyx_DECREF_SET(__pyx_t_3, function); | |
- __pyx_t_5 = 1; | |
+ __pyx_t_4 = 1; | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_kp_u_}; | |
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); | |
+ PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_kp_u__2}; | |
+ __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 273, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 280, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
__pyx_v_path = __pyx_t_1; | |
__pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":274 | |
+ /* "falcon/routing/compiled.py":281 | |
* | |
* path = uri.lstrip('/').split('/') | |
- * params = {} # <<<<<<<<<<<<<< | |
- * node = self._find( | |
+ * params: 'Dict[str, Any]' = {} # <<<<<<<<<<<<<< | |
+ * node: 'Optional[CompiledRouterNode]' = self._find( | |
* path, self._return_values, self._patterns, self._converters, params | |
*/ | |
- __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 274, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 281, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__pyx_v_params = ((PyObject*)__pyx_t_1); | |
__pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":275 | |
+ /* "falcon/routing/compiled.py":282 | |
* path = uri.lstrip('/').split('/') | |
- * params = {} | |
- * node = self._find( # <<<<<<<<<<<<<< | |
+ * params: 'Dict[str, Any]' = {} | |
+ * node: 'Optional[CompiledRouterNode]' = self._find( # <<<<<<<<<<<<<< | |
* path, self._return_values, self._patterns, self._converters, params | |
* ) | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 275, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 282, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- /* "falcon/routing/compiled.py":276 | |
- * params = {} | |
- * node = self._find( | |
+ /* "falcon/routing/compiled.py":283 | |
+ * params: 'Dict[str, Any]' = {} | |
+ * node: 'Optional[CompiledRouterNode]' = self._find( | |
* path, self._return_values, self._patterns, self._converters, params # <<<<<<<<<<<<<< | |
* ) | |
* | |
*/ | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_return_values); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 276, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_return_values); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 283, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_patterns); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 276, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_4); | |
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_converters); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 276, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_patterns); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 283, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_5); | |
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_converters); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 283, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_6); | |
__pyx_t_7 = NULL; | |
- __pyx_t_5 = 0; | |
+ __pyx_t_4 = 0; | |
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { | |
__pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3); | |
if (likely(__pyx_t_7)) { | |
@@ -7129,24 +7393,24 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_10find(CYT | |
__Pyx_INCREF(__pyx_t_7); | |
__Pyx_INCREF(function); | |
__Pyx_DECREF_SET(__pyx_t_3, function); | |
- __pyx_t_5 = 1; | |
+ __pyx_t_4 = 1; | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[6] = {__pyx_t_7, __pyx_v_path, __pyx_t_2, __pyx_t_4, __pyx_t_6, __pyx_v_params}; | |
- __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 5+__pyx_t_5); | |
+ PyObject *__pyx_callargs[6] = {__pyx_t_7, __pyx_v_path, __pyx_t_2, __pyx_t_5, __pyx_t_6, __pyx_v_params}; | |
+ __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 5+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 275, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 282, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
__pyx_v_node = __pyx_t_1; | |
__pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":279 | |
+ /* "falcon/routing/compiled.py":286 | |
* ) | |
* | |
* if node is not None: # <<<<<<<<<<<<<< | |
@@ -7157,7 +7421,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_10find(CYT | |
__pyx_t_9 = (__pyx_t_8 != 0); | |
if (__pyx_t_9) { | |
- /* "falcon/routing/compiled.py":280 | |
+ /* "falcon/routing/compiled.py":287 | |
* | |
* if node is not None: | |
* return node.resource, node.method_map, params, node.uri_template # <<<<<<<<<<<<<< | |
@@ -7165,31 +7429,31 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_10find(CYT | |
* return None | |
*/ | |
__Pyx_XDECREF(__pyx_r); | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_resource); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 280, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_resource); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 287, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_method_map); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 280, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_method_map); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 287, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_uri_template); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 280, __pyx_L1_error) | |
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_uri_template); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 287, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_6); | |
- __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 280, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_4); | |
+ __pyx_t_5 = PyTuple_New(4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 287, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_5); | |
__Pyx_GIVEREF(__pyx_t_1); | |
- PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); | |
+ PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); | |
__Pyx_GIVEREF(__pyx_t_3); | |
- PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); | |
+ PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3); | |
__Pyx_INCREF(__pyx_v_params); | |
__Pyx_GIVEREF(__pyx_v_params); | |
- PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_params); | |
+ PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_params); | |
__Pyx_GIVEREF(__pyx_t_6); | |
- PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_6); | |
+ PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_t_6); | |
__pyx_t_1 = 0; | |
__pyx_t_3 = 0; | |
__pyx_t_6 = 0; | |
- __pyx_r = __pyx_t_4; | |
- __pyx_t_4 = 0; | |
+ __pyx_r = __pyx_t_5; | |
+ __pyx_t_5 = 0; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":279 | |
+ /* "falcon/routing/compiled.py":286 | |
* ) | |
* | |
* if node is not None: # <<<<<<<<<<<<<< | |
@@ -7198,7 +7462,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_10find(CYT | |
*/ | |
} | |
- /* "falcon/routing/compiled.py":282 | |
+ /* "falcon/routing/compiled.py":289 | |
* return node.resource, node.method_map, params, node.uri_template | |
* else: | |
* return None # <<<<<<<<<<<<<< | |
@@ -7211,10 +7475,10 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_10find(CYT | |
goto __pyx_L0; | |
} | |
- /* "falcon/routing/compiled.py":255 | |
+ /* "falcon/routing/compiled.py":262 | |
* self._find = self._compile_and_find | |
* | |
- * def find(self, uri, req=None): # <<<<<<<<<<<<<< | |
+ * def find(self, uri: str, req: 'Optional[Request]' = None): # <<<<<<<<<<<<<< | |
* """Search for a route that matches the given partial URI. | |
* | |
*/ | |
@@ -7224,7 +7488,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_10find(CYT | |
__Pyx_XDECREF(__pyx_t_1); | |
__Pyx_XDECREF(__pyx_t_2); | |
__Pyx_XDECREF(__pyx_t_3); | |
- __Pyx_XDECREF(__pyx_t_4); | |
+ __Pyx_XDECREF(__pyx_t_5); | |
__Pyx_XDECREF(__pyx_t_6); | |
__Pyx_XDECREF(__pyx_t_7); | |
__Pyx_AddTraceback("falcon.routing.compiled.CompiledRouter.find", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
@@ -7238,10 +7502,10 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_10find(CYT | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":288 | |
+/* "falcon/routing/compiled.py":295 | |
* # ----------------------------------------------------------------- | |
* | |
- * def _require_coroutine_responders(self, method_map): # <<<<<<<<<<<<<< | |
+ * def _require_coroutine_responders(self, method_map: dict): # <<<<<<<<<<<<<< | |
* for method, responder in method_map.items(): | |
* # NOTE(kgriffs): We don't simply wrap non-async functions | |
*/ | |
@@ -7295,19 +7559,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 288, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 295, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_method_map)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 288, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 295, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("_require_coroutine_responders", 1, 2, 2, 1); __PYX_ERR(0, 288, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_require_coroutine_responders", 1, 2, 2, 1); __PYX_ERR(0, 295, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_require_coroutine_responders") < 0)) __PYX_ERR(0, 288, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_require_coroutine_responders") < 0)) __PYX_ERR(0, 295, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -7316,24 +7580,29 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); | |
} | |
__pyx_v_self = values[0]; | |
- __pyx_v_method_map = values[1]; | |
+ __pyx_v_method_map = ((PyObject*)values[1]); | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("_require_coroutine_responders", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 288, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_require_coroutine_responders", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 295, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled.CompiledRouter._require_coroutine_responders", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
return NULL; | |
__pyx_L4_argument_unpacking_done:; | |
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_method_map), (&PyDict_Type), 1, "method_map", 1))) __PYX_ERR(0, 295, __pyx_L1_error) | |
__pyx_r = __pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_12_require_coroutine_responders(__pyx_self, __pyx_v_self, __pyx_v_method_map); | |
/* function exit code */ | |
+ goto __pyx_L0; | |
+ __pyx_L1_error:; | |
+ __pyx_r = NULL; | |
+ __pyx_L0:; | |
__Pyx_RefNannyFinishContext(); | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":298 | |
+/* "falcon/routing/compiled.py":305 | |
* if _should_wrap_non_coroutines(): | |
* | |
* def let(responder=responder): # <<<<<<<<<<<<<< | |
@@ -7351,12 +7620,12 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled___defaults__(CYTHON_UNUSED | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("__defaults__", 0); | |
__Pyx_XDECREF(__pyx_r); | |
- __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 298, __pyx_L1_error) | |
+ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 305, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_INCREF(__Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg_responder); | |
__Pyx_GIVEREF(__Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg_responder); | |
PyTuple_SET_ITEM(__pyx_t_1, 0, __Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg_responder); | |
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 298, __pyx_L1_error) | |
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 305, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__Pyx_GIVEREF(__pyx_t_1); | |
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); | |
@@ -7430,12 +7699,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
if (kw_args > 0) { | |
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_responder); | |
if (value) { values[0] = value; kw_args--; } | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 298, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 305, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "let") < 0)) __PYX_ERR(0, 298, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "let") < 0)) __PYX_ERR(0, 305, __pyx_L3_error) | |
} | |
} else { | |
switch (__pyx_nargs) { | |
@@ -7449,7 +7718,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("let", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 298, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("let", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 305, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled.CompiledRouter._require_coroutine_responders.let", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -7478,14 +7747,14 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_29_require | |
__pyx_outer_scope = (struct __pyx_obj_6falcon_7routing_8compiled___pyx_scope_struct_1__require_coroutine_responders *) __Pyx_CyFunction_GetClosure(__pyx_self); | |
__pyx_cur_scope = __pyx_outer_scope; | |
- /* "falcon/routing/compiled.py":299 | |
+ /* "falcon/routing/compiled.py":306 | |
* | |
* def let(responder=responder): | |
* method_map[method] = wrap_sync_to_async(responder) # <<<<<<<<<<<<<< | |
* | |
* let() | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_wrap_sync_to_async); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 299, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_wrap_sync_to_async); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 306, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__pyx_t_3 = NULL; | |
__pyx_t_4 = 0; | |
@@ -7503,16 +7772,20 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_29_require | |
PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_responder}; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 299, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 306, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
- if (unlikely(!__pyx_cur_scope->__pyx_v_method_map)) { __Pyx_RaiseClosureNameError("method_map"); __PYX_ERR(0, 299, __pyx_L1_error) } | |
- if (unlikely(!__pyx_cur_scope->__pyx_v_method)) { __Pyx_RaiseClosureNameError("method"); __PYX_ERR(0, 299, __pyx_L1_error) } | |
- if (unlikely((PyObject_SetItem(__pyx_cur_scope->__pyx_v_method_map, __pyx_cur_scope->__pyx_v_method, __pyx_t_1) < 0))) __PYX_ERR(0, 299, __pyx_L1_error) | |
+ if (unlikely(!__pyx_cur_scope->__pyx_v_method_map)) { __Pyx_RaiseClosureNameError("method_map"); __PYX_ERR(0, 306, __pyx_L1_error) } | |
+ if (unlikely(__pyx_cur_scope->__pyx_v_method_map == Py_None)) { | |
+ PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); | |
+ __PYX_ERR(0, 306, __pyx_L1_error) | |
+ } | |
+ if (unlikely(!__pyx_cur_scope->__pyx_v_method)) { __Pyx_RaiseClosureNameError("method"); __PYX_ERR(0, 306, __pyx_L1_error) } | |
+ if (unlikely((PyDict_SetItem(__pyx_cur_scope->__pyx_v_method_map, __pyx_cur_scope->__pyx_v_method, __pyx_t_1) < 0))) __PYX_ERR(0, 306, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":298 | |
+ /* "falcon/routing/compiled.py":305 | |
* if _should_wrap_non_coroutines(): | |
* | |
* def let(responder=responder): # <<<<<<<<<<<<<< | |
@@ -7535,10 +7808,10 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_29_require | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":288 | |
+/* "falcon/routing/compiled.py":295 | |
* # ----------------------------------------------------------------- | |
* | |
- * def _require_coroutine_responders(self, method_map): # <<<<<<<<<<<<<< | |
+ * def _require_coroutine_responders(self, method_map: dict): # <<<<<<<<<<<<<< | |
* for method, responder in method_map.items(): | |
* # NOTE(kgriffs): We don't simply wrap non-async functions | |
*/ | |
@@ -7569,7 +7842,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_12_require | |
if (unlikely(!__pyx_cur_scope)) { | |
__pyx_cur_scope = ((struct __pyx_obj_6falcon_7routing_8compiled___pyx_scope_struct_1__require_coroutine_responders *)Py_None); | |
__Pyx_INCREF(Py_None); | |
- __PYX_ERR(0, 288, __pyx_L1_error) | |
+ __PYX_ERR(0, 295, __pyx_L1_error) | |
} else { | |
__Pyx_GOTREF((PyObject *)__pyx_cur_scope); | |
} | |
@@ -7577,9 +7850,9 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_12_require | |
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_method_map); | |
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_method_map); | |
- /* "falcon/routing/compiled.py":289 | |
+ /* "falcon/routing/compiled.py":296 | |
* | |
- * def _require_coroutine_responders(self, method_map): | |
+ * def _require_coroutine_responders(self, method_map: dict): | |
* for method, responder in method_map.items(): # <<<<<<<<<<<<<< | |
* # NOTE(kgriffs): We don't simply wrap non-async functions | |
* # since they likely peform relatively long blocking | |
@@ -7587,9 +7860,9 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_12_require | |
__pyx_t_2 = 0; | |
if (unlikely(__pyx_cur_scope->__pyx_v_method_map == Py_None)) { | |
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items"); | |
- __PYX_ERR(0, 289, __pyx_L1_error) | |
+ __PYX_ERR(0, 296, __pyx_L1_error) | |
} | |
- __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_v_method_map, 0, __pyx_n_s_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 289, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_v_method_map, 1, __pyx_n_s_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 296, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__Pyx_XDECREF(__pyx_t_1); | |
__pyx_t_1 = __pyx_t_5; | |
@@ -7597,7 +7870,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_12_require | |
while (1) { | |
__pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4); | |
if (unlikely(__pyx_t_7 == 0)) break; | |
- if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 289, __pyx_L1_error) | |
+ if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 296, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__Pyx_GOTREF(__pyx_t_6); | |
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_method); | |
@@ -7607,14 +7880,14 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_12_require | |
__Pyx_XDECREF_SET(__pyx_v_responder, __pyx_t_6); | |
__pyx_t_6 = 0; | |
- /* "falcon/routing/compiled.py":295 | |
+ /* "falcon/routing/compiled.py":302 | |
* # by the developer; raising an error helps highlight this | |
* # issue. | |
* if not iscoroutinefunction(responder) and is_python_func(responder): # <<<<<<<<<<<<<< | |
* if _should_wrap_non_coroutines(): | |
* | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_iscoroutinefunction); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 295, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_iscoroutinefunction); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 302, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__pyx_t_9 = NULL; | |
__pyx_t_7 = 0; | |
@@ -7632,11 +7905,11 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_12_require | |
PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_v_responder}; | |
__pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); | |
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; | |
- if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 295, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 302, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_6); | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
} | |
- __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 295, __pyx_L1_error) | |
+ __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 302, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; | |
__pyx_t_11 = ((!__pyx_t_10) != 0); | |
if (__pyx_t_11) { | |
@@ -7644,7 +7917,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_12_require | |
__pyx_t_8 = __pyx_t_11; | |
goto __pyx_L6_bool_binop_done; | |
} | |
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_is_python_func); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 295, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_is_python_func); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 302, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__pyx_t_9 = NULL; | |
__pyx_t_7 = 0; | |
@@ -7662,24 +7935,24 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_12_require | |
PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_v_responder}; | |
__pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); | |
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; | |
- if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 295, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 302, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_6); | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
} | |
- __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 295, __pyx_L1_error) | |
+ __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_11 < 0))) __PYX_ERR(0, 302, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; | |
__pyx_t_8 = __pyx_t_11; | |
__pyx_L6_bool_binop_done:; | |
if (__pyx_t_8) { | |
- /* "falcon/routing/compiled.py":296 | |
+ /* "falcon/routing/compiled.py":303 | |
* # issue. | |
* if not iscoroutinefunction(responder) and is_python_func(responder): | |
* if _should_wrap_non_coroutines(): # <<<<<<<<<<<<<< | |
* | |
* def let(responder=responder): | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_should_wrap_non_coroutines); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 296, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_should_wrap_non_coroutines); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 303, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__pyx_t_9 = NULL; | |
__pyx_t_7 = 0; | |
@@ -7697,24 +7970,24 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_12_require | |
PyObject *__pyx_callargs[1] = {__pyx_t_9, }; | |
__pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7); | |
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; | |
- if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 296, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 303, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_6); | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
} | |
- __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 296, __pyx_L1_error) | |
+ __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 303, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; | |
if (likely(__pyx_t_8)) { | |
- /* "falcon/routing/compiled.py":298 | |
+ /* "falcon/routing/compiled.py":305 | |
* if _should_wrap_non_coroutines(): | |
* | |
* def let(responder=responder): # <<<<<<<<<<<<<< | |
* method_map[method] = wrap_sync_to_async(responder) | |
* | |
*/ | |
- __pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_6falcon_7routing_8compiled_14CompiledRouter_29_require_coroutine_responders_1let, 0, __pyx_n_s_CompiledRouter__require_coroutin, ((PyObject*)__pyx_cur_scope), __pyx_n_s_falcon_routing_compiled, __pyx_d, ((PyObject *)__pyx_codeobj__8)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 298, __pyx_L1_error) | |
+ __pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_6falcon_7routing_8compiled_14CompiledRouter_29_require_coroutine_responders_1let, 0, __pyx_n_s_CompiledRouter__require_coroutin, ((PyObject*)__pyx_cur_scope), __pyx_n_s_falcon_routing_compiled, __pyx_d, ((PyObject *)__pyx_codeobj__9)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 305, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_6); | |
- if (!__Pyx_CyFunction_InitDefaults(__pyx_t_6, sizeof(__pyx_defaults), 1)) __PYX_ERR(0, 298, __pyx_L1_error) | |
+ if (!__Pyx_CyFunction_InitDefaults(__pyx_t_6, sizeof(__pyx_defaults), 1)) __PYX_ERR(0, 305, __pyx_L1_error) | |
__Pyx_INCREF(__pyx_v_responder); | |
__Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_t_6)->__pyx_arg_responder = __pyx_v_responder; | |
__Pyx_GIVEREF(__pyx_v_responder); | |
@@ -7722,18 +7995,18 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_12_require | |
__Pyx_XDECREF_SET(__pyx_v_let, __pyx_t_6); | |
__pyx_t_6 = 0; | |
- /* "falcon/routing/compiled.py":301 | |
+ /* "falcon/routing/compiled.py":308 | |
* method_map[method] = wrap_sync_to_async(responder) | |
* | |
* let() # <<<<<<<<<<<<<< | |
* | |
* else: | |
*/ | |
- __pyx_t_6 = __Pyx_PyObject_CallNoArg(__pyx_v_let); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 301, __pyx_L1_error) | |
+ __pyx_t_6 = __Pyx_PyObject_CallNoArg(__pyx_v_let); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 308, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_6); | |
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; | |
- /* "falcon/routing/compiled.py":296 | |
+ /* "falcon/routing/compiled.py":303 | |
* # issue. | |
* if not iscoroutinefunction(responder) and is_python_func(responder): | |
* if _should_wrap_non_coroutines(): # <<<<<<<<<<<<<< | |
@@ -7743,7 +8016,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_12_require | |
goto __pyx_L8; | |
} | |
- /* "falcon/routing/compiled.py":304 | |
+ /* "falcon/routing/compiled.py":311 | |
* | |
* else: | |
* msg = ( # <<<<<<<<<<<<<< | |
@@ -7752,7 +8025,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_12_require | |
*/ | |
/*else*/ { | |
- /* "falcon/routing/compiled.py":305 | |
+ /* "falcon/routing/compiled.py":312 | |
* else: | |
* msg = ( | |
* 'The {} responder must be a non-blocking ' # <<<<<<<<<<<<<< | |
@@ -7762,34 +8035,34 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_12_require | |
__Pyx_INCREF(__pyx_kp_u_The_responder_must_be_a_non_bloc); | |
__pyx_v_msg = __pyx_kp_u_The_responder_must_be_a_non_bloc; | |
- /* "falcon/routing/compiled.py":309 | |
+ /* "falcon/routing/compiled.py":316 | |
* 'avoid blocking the main request thread.' | |
* ) | |
* msg = msg.format(responder) # <<<<<<<<<<<<<< | |
* raise TypeError(msg) | |
* | |
*/ | |
- __pyx_t_6 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyUnicode_Type_format, __pyx_v_msg, __pyx_v_responder); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 309, __pyx_L1_error) | |
+ __pyx_t_6 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyUnicode_Type_format, __pyx_v_msg, __pyx_v_responder); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 316, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_6); | |
__Pyx_DECREF_SET(__pyx_v_msg, __pyx_t_6); | |
__pyx_t_6 = 0; | |
- /* "falcon/routing/compiled.py":310 | |
+ /* "falcon/routing/compiled.py":317 | |
* ) | |
* msg = msg.format(responder) | |
* raise TypeError(msg) # <<<<<<<<<<<<<< | |
* | |
- * def _require_non_coroutine_responders(self, method_map): | |
+ * def _require_non_coroutine_responders(self, method_map: dict): | |
*/ | |
- __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_v_msg); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 310, __pyx_L1_error) | |
+ __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_v_msg); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 317, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_6); | |
__Pyx_Raise(__pyx_t_6, 0, 0, 0); | |
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; | |
- __PYX_ERR(0, 310, __pyx_L1_error) | |
+ __PYX_ERR(0, 317, __pyx_L1_error) | |
} | |
__pyx_L8:; | |
- /* "falcon/routing/compiled.py":295 | |
+ /* "falcon/routing/compiled.py":302 | |
* # by the developer; raising an error helps highlight this | |
* # issue. | |
* if not iscoroutinefunction(responder) and is_python_func(responder): # <<<<<<<<<<<<<< | |
@@ -7800,10 +8073,10 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_12_require | |
} | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":288 | |
+ /* "falcon/routing/compiled.py":295 | |
* # ----------------------------------------------------------------- | |
* | |
- * def _require_coroutine_responders(self, method_map): # <<<<<<<<<<<<<< | |
+ * def _require_coroutine_responders(self, method_map: dict): # <<<<<<<<<<<<<< | |
* for method, responder in method_map.items(): | |
* # NOTE(kgriffs): We don't simply wrap non-async functions | |
*/ | |
@@ -7828,10 +8101,10 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_12_require | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":312 | |
+/* "falcon/routing/compiled.py":319 | |
* raise TypeError(msg) | |
* | |
- * def _require_non_coroutine_responders(self, method_map): # <<<<<<<<<<<<<< | |
+ * def _require_non_coroutine_responders(self, method_map: dict): # <<<<<<<<<<<<<< | |
* for method, responder in method_map.items(): | |
* # NOTE(kgriffs): We don't simply wrap non-async functions | |
*/ | |
@@ -7885,19 +8158,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 312, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 319, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_method_map)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 312, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 319, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("_require_non_coroutine_responders", 1, 2, 2, 1); __PYX_ERR(0, 312, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_require_non_coroutine_responders", 1, 2, 2, 1); __PYX_ERR(0, 319, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_require_non_coroutine_responders") < 0)) __PYX_ERR(0, 312, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_require_non_coroutine_responders") < 0)) __PYX_ERR(0, 319, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -7906,19 +8179,24 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); | |
} | |
__pyx_v_self = values[0]; | |
- __pyx_v_method_map = values[1]; | |
+ __pyx_v_method_map = ((PyObject*)values[1]); | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("_require_non_coroutine_responders", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 312, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_require_non_coroutine_responders", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 319, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled.CompiledRouter._require_non_coroutine_responders", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
return NULL; | |
__pyx_L4_argument_unpacking_done:; | |
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_method_map), (&PyDict_Type), 1, "method_map", 1))) __PYX_ERR(0, 319, __pyx_L1_error) | |
__pyx_r = __pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_14_require_non_coroutine_responders(__pyx_self, __pyx_v_self, __pyx_v_method_map); | |
/* function exit code */ | |
+ goto __pyx_L0; | |
+ __pyx_L1_error:; | |
+ __pyx_r = NULL; | |
+ __pyx_L0:; | |
__Pyx_RefNannyFinishContext(); | |
return __pyx_r; | |
} | |
@@ -7943,9 +8221,9 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_14_require | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("_require_non_coroutine_responders", 0); | |
- /* "falcon/routing/compiled.py":313 | |
+ /* "falcon/routing/compiled.py":320 | |
* | |
- * def _require_non_coroutine_responders(self, method_map): | |
+ * def _require_non_coroutine_responders(self, method_map: dict): | |
* for method, responder in method_map.items(): # <<<<<<<<<<<<<< | |
* # NOTE(kgriffs): We don't simply wrap non-async functions | |
* # since they likely peform relatively long blocking | |
@@ -7953,9 +8231,9 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_14_require | |
__pyx_t_2 = 0; | |
if (unlikely(__pyx_v_method_map == Py_None)) { | |
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items"); | |
- __PYX_ERR(0, 313, __pyx_L1_error) | |
+ __PYX_ERR(0, 320, __pyx_L1_error) | |
} | |
- __pyx_t_5 = __Pyx_dict_iterator(__pyx_v_method_map, 0, __pyx_n_s_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 313, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_dict_iterator(__pyx_v_method_map, 1, __pyx_n_s_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 320, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__Pyx_XDECREF(__pyx_t_1); | |
__pyx_t_1 = __pyx_t_5; | |
@@ -7963,7 +8241,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_14_require | |
while (1) { | |
__pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4); | |
if (unlikely(__pyx_t_7 == 0)) break; | |
- if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 313, __pyx_L1_error) | |
+ if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 320, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__Pyx_GOTREF(__pyx_t_6); | |
__Pyx_XDECREF_SET(__pyx_v_method, __pyx_t_5); | |
@@ -7971,14 +8249,14 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_14_require | |
__Pyx_XDECREF_SET(__pyx_v_responder, __pyx_t_6); | |
__pyx_t_6 = 0; | |
- /* "falcon/routing/compiled.py":320 | |
+ /* "falcon/routing/compiled.py":327 | |
* # issue. | |
* | |
* if iscoroutinefunction(responder): # <<<<<<<<<<<<<< | |
* msg = ( | |
* 'The {} responder must be a regular synchronous ' | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_iscoroutinefunction); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 320, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_iscoroutinefunction); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 327, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__pyx_t_8 = NULL; | |
__pyx_t_7 = 0; | |
@@ -7996,15 +8274,15 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_14_require | |
PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_v_responder}; | |
__pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); | |
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; | |
- if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 320, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 327, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_6); | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
} | |
- __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 320, __pyx_L1_error) | |
+ __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 327, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; | |
if (unlikely(__pyx_t_9)) { | |
- /* "falcon/routing/compiled.py":322 | |
+ /* "falcon/routing/compiled.py":329 | |
* if iscoroutinefunction(responder): | |
* msg = ( | |
* 'The {} responder must be a regular synchronous ' # <<<<<<<<<<<<<< | |
@@ -8014,32 +8292,32 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_14_require | |
__Pyx_INCREF(__pyx_kp_u_The_responder_must_be_a_regular); | |
__pyx_v_msg = __pyx_kp_u_The_responder_must_be_a_regular; | |
- /* "falcon/routing/compiled.py":325 | |
+ /* "falcon/routing/compiled.py":332 | |
* 'method to be used with a WSGI app.' | |
* ) | |
* msg = msg.format(responder) # <<<<<<<<<<<<<< | |
* raise TypeError(msg) | |
* | |
*/ | |
- __pyx_t_6 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyUnicode_Type_format, __pyx_v_msg, __pyx_v_responder); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 325, __pyx_L1_error) | |
+ __pyx_t_6 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyUnicode_Type_format, __pyx_v_msg, __pyx_v_responder); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 332, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_6); | |
__Pyx_DECREF_SET(__pyx_v_msg, __pyx_t_6); | |
__pyx_t_6 = 0; | |
- /* "falcon/routing/compiled.py":326 | |
+ /* "falcon/routing/compiled.py":333 | |
* ) | |
* msg = msg.format(responder) | |
* raise TypeError(msg) # <<<<<<<<<<<<<< | |
* | |
- * def _validate_template_segment(self, segment, used_names): | |
+ * def _validate_template_segment(self, segment: str, used_names: 'Set[str]'): | |
*/ | |
- __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_v_msg); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 326, __pyx_L1_error) | |
+ __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_v_msg); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 333, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_6); | |
__Pyx_Raise(__pyx_t_6, 0, 0, 0); | |
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; | |
- __PYX_ERR(0, 326, __pyx_L1_error) | |
+ __PYX_ERR(0, 333, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":320 | |
+ /* "falcon/routing/compiled.py":327 | |
* # issue. | |
* | |
* if iscoroutinefunction(responder): # <<<<<<<<<<<<<< | |
@@ -8050,10 +8328,10 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_14_require | |
} | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":312 | |
+ /* "falcon/routing/compiled.py":319 | |
* raise TypeError(msg) | |
* | |
- * def _require_non_coroutine_responders(self, method_map): # <<<<<<<<<<<<<< | |
+ * def _require_non_coroutine_responders(self, method_map: dict): # <<<<<<<<<<<<<< | |
* for method, responder in method_map.items(): | |
* # NOTE(kgriffs): We don't simply wrap non-async functions | |
*/ | |
@@ -8077,10 +8355,10 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_14_require | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":328 | |
+/* "falcon/routing/compiled.py":335 | |
* raise TypeError(msg) | |
* | |
- * def _validate_template_segment(self, segment, used_names): # <<<<<<<<<<<<<< | |
+ * def _validate_template_segment(self, segment: str, used_names: 'Set[str]'): # <<<<<<<<<<<<<< | |
* """Validate a single path segment of a URI template. | |
* | |
*/ | |
@@ -8138,26 +8416,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 328, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 335, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_segment)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 328, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 335, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("_validate_template_segment", 1, 3, 3, 1); __PYX_ERR(0, 328, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_validate_template_segment", 1, 3, 3, 1); __PYX_ERR(0, 335, __pyx_L3_error) | |
} | |
CYTHON_FALLTHROUGH; | |
case 2: | |
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_used_names)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 328, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 335, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("_validate_template_segment", 1, 3, 3, 2); __PYX_ERR(0, 328, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_validate_template_segment", 1, 3, 3, 2); __PYX_ERR(0, 335, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_validate_template_segment") < 0)) __PYX_ERR(0, 328, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_validate_template_segment") < 0)) __PYX_ERR(0, 335, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 3)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -8167,20 +8445,25 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); | |
} | |
__pyx_v_self = values[0]; | |
- __pyx_v_segment = values[1]; | |
+ __pyx_v_segment = ((PyObject*)values[1]); | |
__pyx_v_used_names = values[2]; | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("_validate_template_segment", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 328, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_validate_template_segment", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 335, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled.CompiledRouter._validate_template_segment", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
return NULL; | |
__pyx_L4_argument_unpacking_done:; | |
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_segment), (&PyUnicode_Type), 1, "segment", 1))) __PYX_ERR(0, 335, __pyx_L1_error) | |
__pyx_r = __pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validate_template_segment(__pyx_self, __pyx_v_self, __pyx_v_segment, __pyx_v_used_names); | |
/* function exit code */ | |
+ goto __pyx_L0; | |
+ __pyx_L1_error:; | |
+ __pyx_r = NULL; | |
+ __pyx_L0:; | |
__Pyx_RefNannyFinishContext(); | |
return __pyx_r; | |
} | |
@@ -8223,16 +8506,16 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("_validate_template_segment", 0); | |
- /* "falcon/routing/compiled.py":343 | |
+ /* "falcon/routing/compiled.py":350 | |
* """ | |
* | |
* for field in _FIELD_PATTERN.finditer(segment): # <<<<<<<<<<<<<< | |
* name = field.group('fname') | |
* | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_FIELD_PATTERN); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 343, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_FIELD_PATTERN); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 350, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_finditer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 343, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_finditer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 350, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
__pyx_t_2 = NULL; | |
@@ -8251,7 +8534,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_segment}; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 343, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 350, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
@@ -8259,9 +8542,9 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
__pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0; | |
__pyx_t_6 = NULL; | |
} else { | |
- __pyx_t_5 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 343, __pyx_L1_error) | |
+ __pyx_t_5 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 350, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_6 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 343, __pyx_L1_error) | |
+ __pyx_t_6 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 350, __pyx_L1_error) | |
} | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
for (;;) { | |
@@ -8269,17 +8552,17 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
if (likely(PyList_CheckExact(__pyx_t_3))) { | |
if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break; | |
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely((0 < 0))) __PYX_ERR(0, 343, __pyx_L1_error) | |
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely((0 < 0))) __PYX_ERR(0, 350, __pyx_L1_error) | |
#else | |
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 343, __pyx_L1_error) | |
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 350, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
#endif | |
} else { | |
if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_3)) break; | |
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely((0 < 0))) __PYX_ERR(0, 343, __pyx_L1_error) | |
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely((0 < 0))) __PYX_ERR(0, 350, __pyx_L1_error) | |
#else | |
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 343, __pyx_L1_error) | |
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 350, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
#endif | |
} | |
@@ -8289,7 +8572,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
PyObject* exc_type = PyErr_Occurred(); | |
if (exc_type) { | |
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); | |
- else __PYX_ERR(0, 343, __pyx_L1_error) | |
+ else __PYX_ERR(0, 350, __pyx_L1_error) | |
} | |
break; | |
} | |
@@ -8298,14 +8581,14 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
__Pyx_XDECREF_SET(__pyx_v_field, __pyx_t_1); | |
__pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":344 | |
+ /* "falcon/routing/compiled.py":351 | |
* | |
* for field in _FIELD_PATTERN.finditer(segment): | |
* name = field.group('fname') # <<<<<<<<<<<<<< | |
* | |
* is_identifier = _IDENTIFIER_PATTERN.match(name) | |
*/ | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_field, __pyx_n_s_group); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 344, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_field, __pyx_n_s_group); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 351, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__pyx_t_7 = NULL; | |
__pyx_t_4 = 0; | |
@@ -8323,23 +8606,23 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_n_u_fname}; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 344, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 351, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
__Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_1); | |
__pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":346 | |
+ /* "falcon/routing/compiled.py":353 | |
* name = field.group('fname') | |
* | |
* is_identifier = _IDENTIFIER_PATTERN.match(name) # <<<<<<<<<<<<<< | |
* if not is_identifier or name in keyword.kwlist: | |
* msg_template = ( | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IDENTIFIER_PATTERN); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 346, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IDENTIFIER_PATTERN); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 353, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_match); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 346, __pyx_L1_error) | |
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_match); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 353, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
__pyx_t_2 = NULL; | |
@@ -8358,40 +8641,40 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name}; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 346, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 353, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
} | |
__Pyx_XDECREF_SET(__pyx_v_is_identifier, __pyx_t_1); | |
__pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":347 | |
+ /* "falcon/routing/compiled.py":354 | |
* | |
* is_identifier = _IDENTIFIER_PATTERN.match(name) | |
* if not is_identifier or name in keyword.kwlist: # <<<<<<<<<<<<<< | |
* msg_template = ( | |
* 'Field names must be valid identifiers ("{0}" is not valid)' | |
*/ | |
- __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_is_identifier); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 347, __pyx_L1_error) | |
+ __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_is_identifier); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 354, __pyx_L1_error) | |
__pyx_t_10 = ((!__pyx_t_9) != 0); | |
if (!__pyx_t_10) { | |
} else { | |
__pyx_t_8 = __pyx_t_10; | |
goto __pyx_L6_bool_binop_done; | |
} | |
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_keyword); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 347, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_keyword); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 354, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_kwlist); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 347, __pyx_L1_error) | |
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_kwlist); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 354, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- __pyx_t_10 = (__Pyx_PySequence_ContainsTF(__pyx_v_name, __pyx_t_7, Py_EQ)); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 347, __pyx_L1_error) | |
+ __pyx_t_10 = (__Pyx_PySequence_ContainsTF(__pyx_v_name, __pyx_t_7, Py_EQ)); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 354, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
__pyx_t_9 = (__pyx_t_10 != 0); | |
__pyx_t_8 = __pyx_t_9; | |
__pyx_L6_bool_binop_done:; | |
if (unlikely(__pyx_t_8)) { | |
- /* "falcon/routing/compiled.py":349 | |
+ /* "falcon/routing/compiled.py":356 | |
* if not is_identifier or name in keyword.kwlist: | |
* msg_template = ( | |
* 'Field names must be valid identifiers ("{0}" is not valid)' # <<<<<<<<<<<<<< | |
@@ -8401,32 +8684,32 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
__Pyx_INCREF(__pyx_kp_u_Field_names_must_be_valid_identi); | |
__pyx_v_msg_template = __pyx_kp_u_Field_names_must_be_valid_identi; | |
- /* "falcon/routing/compiled.py":351 | |
+ /* "falcon/routing/compiled.py":358 | |
* 'Field names must be valid identifiers ("{0}" is not valid)' | |
* ) | |
* msg = msg_template.format(name) # <<<<<<<<<<<<<< | |
* raise ValueError(msg) | |
* | |
*/ | |
- __pyx_t_7 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyUnicode_Type_format, __pyx_v_msg_template, __pyx_v_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 351, __pyx_L1_error) | |
+ __pyx_t_7 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyUnicode_Type_format, __pyx_v_msg_template, __pyx_v_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 358, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__pyx_v_msg = __pyx_t_7; | |
__pyx_t_7 = 0; | |
- /* "falcon/routing/compiled.py":352 | |
+ /* "falcon/routing/compiled.py":359 | |
* ) | |
* msg = msg_template.format(name) | |
* raise ValueError(msg) # <<<<<<<<<<<<<< | |
* | |
* if name in used_names: | |
*/ | |
- __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_v_msg); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 352, __pyx_L1_error) | |
+ __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_v_msg); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 359, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__Pyx_Raise(__pyx_t_7, 0, 0, 0); | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
- __PYX_ERR(0, 352, __pyx_L1_error) | |
+ __PYX_ERR(0, 359, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":347 | |
+ /* "falcon/routing/compiled.py":354 | |
* | |
* is_identifier = _IDENTIFIER_PATTERN.match(name) | |
* if not is_identifier or name in keyword.kwlist: # <<<<<<<<<<<<<< | |
@@ -8435,18 +8718,18 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
*/ | |
} | |
- /* "falcon/routing/compiled.py":354 | |
+ /* "falcon/routing/compiled.py":361 | |
* raise ValueError(msg) | |
* | |
* if name in used_names: # <<<<<<<<<<<<<< | |
* msg_template = ( | |
* 'Field names may not be duplicated ' | |
*/ | |
- __pyx_t_8 = (__Pyx_PySequence_ContainsTF(__pyx_v_name, __pyx_v_used_names, Py_EQ)); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 354, __pyx_L1_error) | |
+ __pyx_t_8 = (__Pyx_PySequence_ContainsTF(__pyx_v_name, __pyx_v_used_names, Py_EQ)); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 361, __pyx_L1_error) | |
__pyx_t_9 = (__pyx_t_8 != 0); | |
if (unlikely(__pyx_t_9)) { | |
- /* "falcon/routing/compiled.py":356 | |
+ /* "falcon/routing/compiled.py":363 | |
* if name in used_names: | |
* msg_template = ( | |
* 'Field names may not be duplicated ' # <<<<<<<<<<<<<< | |
@@ -8456,32 +8739,32 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
__Pyx_INCREF(__pyx_kp_u_Field_names_may_not_be_duplicate); | |
__pyx_v_msg_template = __pyx_kp_u_Field_names_may_not_be_duplicate; | |
- /* "falcon/routing/compiled.py":359 | |
+ /* "falcon/routing/compiled.py":366 | |
* '("{0}" was used more than once)' | |
* ) | |
* msg = msg_template.format(name) # <<<<<<<<<<<<<< | |
* raise ValueError(msg) | |
* | |
*/ | |
- __pyx_t_7 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyUnicode_Type_format, __pyx_v_msg_template, __pyx_v_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 359, __pyx_L1_error) | |
+ __pyx_t_7 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyUnicode_Type_format, __pyx_v_msg_template, __pyx_v_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 366, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__pyx_v_msg = __pyx_t_7; | |
__pyx_t_7 = 0; | |
- /* "falcon/routing/compiled.py":360 | |
+ /* "falcon/routing/compiled.py":367 | |
* ) | |
* msg = msg_template.format(name) | |
* raise ValueError(msg) # <<<<<<<<<<<<<< | |
* | |
* used_names.add(name) | |
*/ | |
- __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_v_msg); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 360, __pyx_L1_error) | |
+ __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_v_msg); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 367, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__Pyx_Raise(__pyx_t_7, 0, 0, 0); | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
- __PYX_ERR(0, 360, __pyx_L1_error) | |
+ __PYX_ERR(0, 367, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":354 | |
+ /* "falcon/routing/compiled.py":361 | |
* raise ValueError(msg) | |
* | |
* if name in used_names: # <<<<<<<<<<<<<< | |
@@ -8490,14 +8773,14 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
*/ | |
} | |
- /* "falcon/routing/compiled.py":362 | |
+ /* "falcon/routing/compiled.py":369 | |
* raise ValueError(msg) | |
* | |
* used_names.add(name) # <<<<<<<<<<<<<< | |
* | |
* if field.group('cname_sep') == ':': | |
*/ | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_used_names, __pyx_n_s_add); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 362, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_used_names, __pyx_n_s_add); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 369, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__pyx_t_2 = NULL; | |
__pyx_t_4 = 0; | |
@@ -8515,20 +8798,20 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name}; | |
__pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 362, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 369, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
} | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
- /* "falcon/routing/compiled.py":364 | |
+ /* "falcon/routing/compiled.py":371 | |
* used_names.add(name) | |
* | |
* if field.group('cname_sep') == ':': # <<<<<<<<<<<<<< | |
* msg = 'Missing converter for field "{0}"'.format(name) | |
* raise ValueError(msg) | |
*/ | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_field, __pyx_n_s_group); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 364, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_field, __pyx_n_s_group); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 371, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__pyx_t_2 = NULL; | |
__pyx_t_4 = 0; | |
@@ -8546,22 +8829,22 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_n_u_cname_sep}; | |
__pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 364, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 371, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
} | |
- __pyx_t_9 = (__Pyx_PyUnicode_Equals(__pyx_t_7, __pyx_kp_u__9, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 364, __pyx_L1_error) | |
+ __pyx_t_9 = (__Pyx_PyUnicode_Equals(__pyx_t_7, __pyx_kp_u__10, Py_EQ)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 371, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
if (unlikely(__pyx_t_9)) { | |
- /* "falcon/routing/compiled.py":365 | |
+ /* "falcon/routing/compiled.py":372 | |
* | |
* if field.group('cname_sep') == ':': | |
* msg = 'Missing converter for field "{0}"'.format(name) # <<<<<<<<<<<<<< | |
* raise ValueError(msg) | |
* | |
*/ | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Missing_converter_for_field_0, __pyx_n_s_format); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 365, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Missing_converter_for_field_0, __pyx_n_s_format); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 372, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__pyx_t_2 = NULL; | |
__pyx_t_4 = 0; | |
@@ -8579,27 +8862,27 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name}; | |
__pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 365, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 372, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
} | |
__pyx_v_msg = __pyx_t_7; | |
__pyx_t_7 = 0; | |
- /* "falcon/routing/compiled.py":366 | |
+ /* "falcon/routing/compiled.py":373 | |
* if field.group('cname_sep') == ':': | |
* msg = 'Missing converter for field "{0}"'.format(name) | |
* raise ValueError(msg) # <<<<<<<<<<<<<< | |
* | |
* name = field.group('cname') | |
*/ | |
- __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_v_msg); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 366, __pyx_L1_error) | |
+ __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_v_msg); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 373, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__Pyx_Raise(__pyx_t_7, 0, 0, 0); | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
- __PYX_ERR(0, 366, __pyx_L1_error) | |
+ __PYX_ERR(0, 373, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":364 | |
+ /* "falcon/routing/compiled.py":371 | |
* used_names.add(name) | |
* | |
* if field.group('cname_sep') == ':': # <<<<<<<<<<<<<< | |
@@ -8608,14 +8891,14 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
*/ | |
} | |
- /* "falcon/routing/compiled.py":368 | |
+ /* "falcon/routing/compiled.py":375 | |
* raise ValueError(msg) | |
* | |
* name = field.group('cname') # <<<<<<<<<<<<<< | |
* if name: | |
* if name not in self._converter_map: | |
*/ | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_field, __pyx_n_s_group); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 368, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_field, __pyx_n_s_group); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 375, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__pyx_t_2 = NULL; | |
__pyx_t_4 = 0; | |
@@ -8633,45 +8916,45 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_n_u_cname}; | |
__pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 368, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 375, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
} | |
__Pyx_DECREF_SET(__pyx_v_name, __pyx_t_7); | |
__pyx_t_7 = 0; | |
- /* "falcon/routing/compiled.py":369 | |
+ /* "falcon/routing/compiled.py":376 | |
* | |
* name = field.group('cname') | |
* if name: # <<<<<<<<<<<<<< | |
* if name not in self._converter_map: | |
* msg = 'Unknown converter: "{0}"'.format(name) | |
*/ | |
- __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_name); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 369, __pyx_L1_error) | |
+ __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_name); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 376, __pyx_L1_error) | |
if (__pyx_t_9) { | |
- /* "falcon/routing/compiled.py":370 | |
+ /* "falcon/routing/compiled.py":377 | |
* name = field.group('cname') | |
* if name: | |
* if name not in self._converter_map: # <<<<<<<<<<<<<< | |
* msg = 'Unknown converter: "{0}"'.format(name) | |
* raise ValueError(msg) | |
*/ | |
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_converter_map); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 370, __pyx_L1_error) | |
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_converter_map); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 377, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
- __pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_v_name, __pyx_t_7, Py_NE)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 370, __pyx_L1_error) | |
+ __pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_v_name, __pyx_t_7, Py_NE)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(0, 377, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
__pyx_t_8 = (__pyx_t_9 != 0); | |
if (unlikely(__pyx_t_8)) { | |
- /* "falcon/routing/compiled.py":371 | |
+ /* "falcon/routing/compiled.py":378 | |
* if name: | |
* if name not in self._converter_map: | |
* msg = 'Unknown converter: "{0}"'.format(name) # <<<<<<<<<<<<<< | |
* raise ValueError(msg) | |
* try: | |
*/ | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Unknown_converter_0, __pyx_n_s_format); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 371, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Unknown_converter_0, __pyx_n_s_format); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 378, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__pyx_t_2 = NULL; | |
__pyx_t_4 = 0; | |
@@ -8689,27 +8972,27 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name}; | |
__pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 371, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 378, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
} | |
__pyx_v_msg = __pyx_t_7; | |
__pyx_t_7 = 0; | |
- /* "falcon/routing/compiled.py":372 | |
+ /* "falcon/routing/compiled.py":379 | |
* if name not in self._converter_map: | |
* msg = 'Unknown converter: "{0}"'.format(name) | |
* raise ValueError(msg) # <<<<<<<<<<<<<< | |
* try: | |
* self._instantiate_converter( | |
*/ | |
- __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_v_msg); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 372, __pyx_L1_error) | |
+ __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_v_msg); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 379, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__Pyx_Raise(__pyx_t_7, 0, 0, 0); | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
- __PYX_ERR(0, 372, __pyx_L1_error) | |
+ __PYX_ERR(0, 379, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":370 | |
+ /* "falcon/routing/compiled.py":377 | |
* name = field.group('cname') | |
* if name: | |
* if name not in self._converter_map: # <<<<<<<<<<<<<< | |
@@ -8718,7 +9001,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
*/ | |
} | |
- /* "falcon/routing/compiled.py":373 | |
+ /* "falcon/routing/compiled.py":380 | |
* msg = 'Unknown converter: "{0}"'.format(name) | |
* raise ValueError(msg) | |
* try: # <<<<<<<<<<<<<< | |
@@ -8734,29 +9017,29 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
__Pyx_XGOTREF(__pyx_t_13); | |
/*try:*/ { | |
- /* "falcon/routing/compiled.py":374 | |
+ /* "falcon/routing/compiled.py":381 | |
* raise ValueError(msg) | |
* try: | |
* self._instantiate_converter( # <<<<<<<<<<<<<< | |
* self._converter_map[name], field.group('argstr') | |
* ) | |
*/ | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_instantiate_converter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 374, __pyx_L12_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_instantiate_converter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 381, __pyx_L12_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- /* "falcon/routing/compiled.py":375 | |
+ /* "falcon/routing/compiled.py":382 | |
* try: | |
* self._instantiate_converter( | |
* self._converter_map[name], field.group('argstr') # <<<<<<<<<<<<<< | |
* ) | |
* except Exception as e: | |
*/ | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_converter_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 375, __pyx_L12_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_converter_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 382, __pyx_L12_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_name); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 375, __pyx_L12_error) | |
+ __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_name); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 382, __pyx_L12_error) | |
__Pyx_GOTREF(__pyx_t_14); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_field, __pyx_n_s_group); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 375, __pyx_L12_error) | |
+ __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_field, __pyx_n_s_group); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 382, __pyx_L12_error) | |
__Pyx_GOTREF(__pyx_t_15); | |
__pyx_t_16 = NULL; | |
__pyx_t_4 = 0; | |
@@ -8774,7 +9057,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
PyObject *__pyx_callargs[2] = {__pyx_t_16, __pyx_n_u_argstr}; | |
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_15, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; | |
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 375, __pyx_L12_error) | |
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 382, __pyx_L12_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; | |
} | |
@@ -8796,13 +9079,13 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
__Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; | |
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 374, __pyx_L12_error) | |
+ if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 381, __pyx_L12_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
} | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
- /* "falcon/routing/compiled.py":373 | |
+ /* "falcon/routing/compiled.py":380 | |
* msg = 'Unknown converter: "{0}"'.format(name) | |
* raise ValueError(msg) | |
* try: # <<<<<<<<<<<<<< | |
@@ -8822,7 +9105,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; | |
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; | |
- /* "falcon/routing/compiled.py":377 | |
+ /* "falcon/routing/compiled.py":384 | |
* self._converter_map[name], field.group('argstr') | |
* ) | |
* except Exception as e: # <<<<<<<<<<<<<< | |
@@ -8832,7 +9115,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
__pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); | |
if (__pyx_t_4) { | |
__Pyx_AddTraceback("falcon.routing.compiled.CompiledRouter._validate_template_segment", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
- if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 377, __pyx_L14_except_error) | |
+ if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_1, &__pyx_t_2) < 0) __PYX_ERR(0, 384, __pyx_L14_except_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_GOTREF(__pyx_t_2); | |
@@ -8840,14 +9123,14 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
__pyx_v_e = __pyx_t_1; | |
/*try:*/ { | |
- /* "falcon/routing/compiled.py":378 | |
+ /* "falcon/routing/compiled.py":385 | |
* ) | |
* except Exception as e: | |
* msg = 'Cannot instantiate converter "{}"'.format(name) # <<<<<<<<<<<<<< | |
* raise ValueError(msg) from e | |
* | |
*/ | |
- __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Cannot_instantiate_converter, __pyx_n_s_format); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 378, __pyx_L25_error) | |
+ __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_Cannot_instantiate_converter, __pyx_n_s_format); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 385, __pyx_L25_error) | |
__Pyx_GOTREF(__pyx_t_15); | |
__pyx_t_16 = NULL; | |
__pyx_t_4 = 0; | |
@@ -8865,28 +9148,28 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
PyObject *__pyx_callargs[2] = {__pyx_t_16, __pyx_v_name}; | |
__pyx_t_14 = __Pyx_PyObject_FastCall(__pyx_t_15, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; | |
- if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 378, __pyx_L25_error) | |
+ if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 385, __pyx_L25_error) | |
__Pyx_GOTREF(__pyx_t_14); | |
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; | |
} | |
__pyx_v_msg = __pyx_t_14; | |
__pyx_t_14 = 0; | |
- /* "falcon/routing/compiled.py":379 | |
+ /* "falcon/routing/compiled.py":386 | |
* except Exception as e: | |
* msg = 'Cannot instantiate converter "{}"'.format(name) | |
* raise ValueError(msg) from e # <<<<<<<<<<<<<< | |
* | |
* def _generate_ast( | |
*/ | |
- __pyx_t_14 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_v_msg); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 379, __pyx_L25_error) | |
+ __pyx_t_14 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_v_msg); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 386, __pyx_L25_error) | |
__Pyx_GOTREF(__pyx_t_14); | |
__Pyx_Raise(__pyx_t_14, 0, 0, __pyx_v_e); | |
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; | |
- __PYX_ERR(0, 379, __pyx_L25_error) | |
+ __PYX_ERR(0, 386, __pyx_L25_error) | |
} | |
- /* "falcon/routing/compiled.py":377 | |
+ /* "falcon/routing/compiled.py":384 | |
* self._converter_map[name], field.group('argstr') | |
* ) | |
* except Exception as e: # <<<<<<<<<<<<<< | |
@@ -8933,7 +9216,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
goto __pyx_L14_except_error; | |
__pyx_L14_except_error:; | |
- /* "falcon/routing/compiled.py":373 | |
+ /* "falcon/routing/compiled.py":380 | |
* msg = 'Unknown converter: "{0}"'.format(name) | |
* raise ValueError(msg) | |
* try: # <<<<<<<<<<<<<< | |
@@ -8948,7 +9231,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
__pyx_L19_try_end:; | |
} | |
- /* "falcon/routing/compiled.py":369 | |
+ /* "falcon/routing/compiled.py":376 | |
* | |
* name = field.group('cname') | |
* if name: # <<<<<<<<<<<<<< | |
@@ -8957,7 +9240,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
*/ | |
} | |
- /* "falcon/routing/compiled.py":343 | |
+ /* "falcon/routing/compiled.py":350 | |
* """ | |
* | |
* for field in _FIELD_PATTERN.finditer(segment): # <<<<<<<<<<<<<< | |
@@ -8967,10 +9250,10 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
} | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- /* "falcon/routing/compiled.py":328 | |
+ /* "falcon/routing/compiled.py":335 | |
* raise TypeError(msg) | |
* | |
- * def _validate_template_segment(self, segment, used_names): # <<<<<<<<<<<<<< | |
+ * def _validate_template_segment(self, segment: str, used_names: 'Set[str]'): # <<<<<<<<<<<<<< | |
* """Validate a single path segment of a URI template. | |
* | |
*/ | |
@@ -9000,12 +9283,12 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_16_validat | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":381 | |
+/* "falcon/routing/compiled.py":388 | |
* raise ValueError(msg) from e | |
* | |
* def _generate_ast( # <<<<<<<<<<<<<< | |
* self, | |
- * nodes: list, | |
+ * nodes: 'List[CompiledRouterNode]', | |
*/ | |
/* Python wrapper */ | |
@@ -9052,10 +9335,10 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
PyObject* values[8] = {0,0,0,0,0,0,0,0}; | |
values[6] = ((PyObject *)((PyObject *)__pyx_int_0)); | |
- /* "falcon/routing/compiled.py":389 | |
- * params_stack: list, | |
- * level=0, | |
- * fast_return=True, # <<<<<<<<<<<<<< | |
+ /* "falcon/routing/compiled.py":396 | |
+ * params_stack: 'List[_CxElement]', | |
+ * level: int = 0, | |
+ * fast_return: bool = True, # <<<<<<<<<<<<<< | |
* ): | |
* """Generate a coarse AST for the router.""" | |
*/ | |
@@ -9086,61 +9369,61 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 381, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 388, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_nodes)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 381, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 388, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("_generate_ast", 0, 6, 8, 1); __PYX_ERR(0, 381, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_generate_ast", 0, 6, 8, 1); __PYX_ERR(0, 388, __pyx_L3_error) | |
} | |
CYTHON_FALLTHROUGH; | |
case 2: | |
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_parent)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 381, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 388, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("_generate_ast", 0, 6, 8, 2); __PYX_ERR(0, 381, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_generate_ast", 0, 6, 8, 2); __PYX_ERR(0, 388, __pyx_L3_error) | |
} | |
CYTHON_FALLTHROUGH; | |
case 3: | |
if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_return_values_2)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 381, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 388, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("_generate_ast", 0, 6, 8, 3); __PYX_ERR(0, 381, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_generate_ast", 0, 6, 8, 3); __PYX_ERR(0, 388, __pyx_L3_error) | |
} | |
CYTHON_FALLTHROUGH; | |
case 4: | |
if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_patterns_2)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 381, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 388, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("_generate_ast", 0, 6, 8, 4); __PYX_ERR(0, 381, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_generate_ast", 0, 6, 8, 4); __PYX_ERR(0, 388, __pyx_L3_error) | |
} | |
CYTHON_FALLTHROUGH; | |
case 5: | |
if (likely((values[5] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_params_stack)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 381, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 388, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("_generate_ast", 0, 6, 8, 5); __PYX_ERR(0, 381, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_generate_ast", 0, 6, 8, 5); __PYX_ERR(0, 388, __pyx_L3_error) | |
} | |
CYTHON_FALLTHROUGH; | |
case 6: | |
if (kw_args > 0) { | |
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_level); | |
if (value) { values[6] = value; kw_args--; } | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 381, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 388, __pyx_L3_error) | |
} | |
CYTHON_FALLTHROUGH; | |
case 7: | |
if (kw_args > 0) { | |
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_fast_return); | |
if (value) { values[7] = value; kw_args--; } | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 381, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 388, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_generate_ast") < 0)) __PYX_ERR(0, 381, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_generate_ast") < 0)) __PYX_ERR(0, 388, __pyx_L3_error) | |
} | |
} else { | |
switch (__pyx_nargs) { | |
@@ -9159,46 +9442,38 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
} | |
__pyx_v_self = values[0]; | |
- __pyx_v_nodes = ((PyObject*)values[1]); | |
+ __pyx_v_nodes = values[1]; | |
__pyx_v_parent = values[2]; | |
- __pyx_v_return_values = ((PyObject*)values[3]); | |
- __pyx_v_patterns = ((PyObject*)values[4]); | |
- __pyx_v_params_stack = ((PyObject*)values[5]); | |
+ __pyx_v_return_values = values[3]; | |
+ __pyx_v_patterns = values[4]; | |
+ __pyx_v_params_stack = values[5]; | |
__pyx_v_level = values[6]; | |
__pyx_v_fast_return = values[7]; | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("_generate_ast", 0, 6, 8, __pyx_nargs); __PYX_ERR(0, 381, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_generate_ast", 0, 6, 8, __pyx_nargs); __PYX_ERR(0, 388, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled.CompiledRouter._generate_ast", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
return NULL; | |
__pyx_L4_argument_unpacking_done:; | |
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodes), (&PyList_Type), 1, "nodes", 1))) __PYX_ERR(0, 383, __pyx_L1_error) | |
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_return_values), (&PyList_Type), 1, "return_values", 1))) __PYX_ERR(0, 385, __pyx_L1_error) | |
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_patterns), (&PyList_Type), 1, "patterns", 1))) __PYX_ERR(0, 386, __pyx_L1_error) | |
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_params_stack), (&PyList_Type), 1, "params_stack", 1))) __PYX_ERR(0, 387, __pyx_L1_error) | |
__pyx_r = __pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generate_ast(__pyx_self, __pyx_v_self, __pyx_v_nodes, __pyx_v_parent, __pyx_v_return_values, __pyx_v_patterns, __pyx_v_params_stack, __pyx_v_level, __pyx_v_fast_return); | |
- /* "falcon/routing/compiled.py":381 | |
+ /* "falcon/routing/compiled.py":388 | |
* raise ValueError(msg) from e | |
* | |
* def _generate_ast( # <<<<<<<<<<<<<< | |
* self, | |
- * nodes: list, | |
+ * nodes: 'List[CompiledRouterNode]', | |
*/ | |
/* function exit code */ | |
- goto __pyx_L0; | |
- __pyx_L1_error:; | |
- __pyx_r = NULL; | |
- __pyx_L0:; | |
__Pyx_RefNannyFinishContext(); | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":411 | |
+/* "falcon/routing/compiled.py":418 | |
* # so that none of them get masked. | |
* nodes = sorted( | |
* nodes, key=lambda node: node.is_var + (node.is_var and not node.is_complex) # <<<<<<<<<<<<<< | |
@@ -9252,12 +9527,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_node)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 411, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 418, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "lambda") < 0)) __PYX_ERR(0, 411, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "lambda") < 0)) __PYX_ERR(0, 418, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 1)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -9268,7 +9543,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("lambda", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 411, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("lambda", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 418, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled.CompiledRouter._generate_ast.lambda", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -9294,11 +9569,11 @@ static PyObject *__pyx_lambda_funcdef_lambda(CYTHON_UNUSED PyObject *__pyx_self, | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("lambda", 0); | |
__Pyx_XDECREF(__pyx_r); | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_is_var); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 411, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_is_var); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 418, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_is_var); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 411, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_is_var); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 418, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 411, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 418, __pyx_L1_error) | |
if (__pyx_t_4) { | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} else { | |
@@ -9307,17 +9582,17 @@ static PyObject *__pyx_lambda_funcdef_lambda(CYTHON_UNUSED PyObject *__pyx_self, | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
goto __pyx_L3_bool_binop_done; | |
} | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_is_complex); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 411, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_is_complex); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 418, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 411, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 418, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
__pyx_t_5 = (!__pyx_t_4); | |
- __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 411, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 418, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__pyx_t_2 = __pyx_t_3; | |
__pyx_t_3 = 0; | |
__pyx_L3_bool_binop_done:; | |
- __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 411, __pyx_L1_error) | |
+ __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 418, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
@@ -9338,12 +9613,12 @@ static PyObject *__pyx_lambda_funcdef_lambda(CYTHON_UNUSED PyObject *__pyx_self, | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":381 | |
+/* "falcon/routing/compiled.py":388 | |
* raise ValueError(msg) from e | |
* | |
* def _generate_ast( # <<<<<<<<<<<<<< | |
* self, | |
- * nodes: list, | |
+ * nodes: 'List[CompiledRouterNode]', | |
*/ | |
static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generate_ast(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_nodes, PyObject *__pyx_v_parent, PyObject *__pyx_v_return_values, PyObject *__pyx_v_patterns, PyObject *__pyx_v_params_stack, PyObject *__pyx_v_level, PyObject *__pyx_v_fast_return) { | |
@@ -9351,11 +9626,11 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
int __pyx_v_found_simple; | |
PyObject *__pyx_v_var_nodes = NULL; | |
PyObject *__pyx_v_found_var_nodes = NULL; | |
- PyObject *__pyx_v_construct = NULL; | |
- PyObject *__pyx_v_setter = NULL; | |
PyObject *__pyx_v_original_params_stack = NULL; | |
PyObject *__pyx_v_node = NULL; | |
Py_ssize_t __pyx_v_pattern_idx; | |
+ PyObject *__pyx_v_cx_segment = NULL; | |
+ PyObject *__pyx_v_cx_pattern = NULL; | |
PyObject *__pyx_v_field_name = NULL; | |
CYTHON_UNUSED PyObject *__pyx_v___ = NULL; | |
PyObject *__pyx_v_converter_name = NULL; | |
@@ -9363,8 +9638,11 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
PyObject *__pyx_v_converter_class = NULL; | |
PyObject *__pyx_v_converter_obj = NULL; | |
Py_ssize_t __pyx_v_converter_idx; | |
+ PyObject *__pyx_v_cx_converter = NULL; | |
PyObject *__pyx_v__found_nodes = NULL; | |
+ PyObject *__pyx_v_cx_literal = NULL; | |
Py_ssize_t __pyx_v_resource_idx; | |
+ PyObject *__pyx_v_cx_path_len = NULL; | |
PyObject *__pyx_v_params = NULL; | |
PyObject *__pyx_7genexpr__pyx_v_node = NULL; | |
PyObject *__pyx_8genexpr1__pyx_v__node = NULL; | |
@@ -9377,14 +9655,16 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
PyObject *__pyx_t_5 = NULL; | |
int __pyx_t_6; | |
Py_ssize_t __pyx_t_7; | |
- PyObject *__pyx_t_8 = NULL; | |
- Py_ssize_t __pyx_t_9; | |
- int __pyx_t_10; | |
- PyObject *__pyx_t_11 = NULL; | |
+ PyObject *(*__pyx_t_8)(PyObject *); | |
+ PyObject *__pyx_t_9 = NULL; | |
+ Py_ssize_t __pyx_t_10; | |
+ int __pyx_t_11; | |
PyObject *__pyx_t_12 = NULL; | |
- PyObject *(*__pyx_t_13)(PyObject *); | |
- int __pyx_t_14; | |
- PyObject *__pyx_t_15 = NULL; | |
+ PyObject *__pyx_t_13 = NULL; | |
+ PyObject *(*__pyx_t_14)(PyObject *); | |
+ PyObject *(*__pyx_t_15)(PyObject *); | |
+ int __pyx_t_16; | |
+ PyObject *__pyx_t_17 = NULL; | |
int __pyx_lineno = 0; | |
const char *__pyx_filename = NULL; | |
int __pyx_clineno = 0; | |
@@ -9394,18 +9674,18 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
__Pyx_INCREF(__pyx_v_params_stack); | |
__Pyx_INCREF(__pyx_v_fast_return); | |
- /* "falcon/routing/compiled.py":398 | |
+ /* "falcon/routing/compiled.py":405 | |
* | |
* # NOTE(kgriffs): Base case | |
* if not nodes: # <<<<<<<<<<<<<< | |
* return | |
* | |
*/ | |
- __pyx_t_1 = (__pyx_v_nodes != Py_None)&&(PyList_GET_SIZE(__pyx_v_nodes) != 0); | |
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_nodes); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 405, __pyx_L1_error) | |
__pyx_t_2 = ((!__pyx_t_1) != 0); | |
if (__pyx_t_2) { | |
- /* "falcon/routing/compiled.py":399 | |
+ /* "falcon/routing/compiled.py":406 | |
* # NOTE(kgriffs): Base case | |
* if not nodes: | |
* return # <<<<<<<<<<<<<< | |
@@ -9416,7 +9696,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
__pyx_r = Py_None; __Pyx_INCREF(Py_None); | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":398 | |
+ /* "falcon/routing/compiled.py":405 | |
* | |
* # NOTE(kgriffs): Base case | |
* if not nodes: # <<<<<<<<<<<<<< | |
@@ -9425,14 +9705,14 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
*/ | |
} | |
- /* "falcon/routing/compiled.py":401 | |
+ /* "falcon/routing/compiled.py":408 | |
* return | |
* | |
* outer_parent = _CxIfPathLength('>', level) # <<<<<<<<<<<<<< | |
* parent.append_child(outer_parent) | |
* parent = outer_parent | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CxIfPathLength); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 401, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_CxIfPathLength); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 408, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__pyx_t_5 = NULL; | |
__pyx_t_6 = 0; | |
@@ -9447,24 +9727,24 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_kp_u__10, __pyx_v_level}; | |
+ PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_kp_u__11, __pyx_v_level}; | |
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 2+__pyx_t_6); | |
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 401, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 408, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
} | |
__pyx_v_outer_parent = __pyx_t_3; | |
__pyx_t_3 = 0; | |
- /* "falcon/routing/compiled.py":402 | |
+ /* "falcon/routing/compiled.py":409 | |
* | |
* outer_parent = _CxIfPathLength('>', level) | |
* parent.append_child(outer_parent) # <<<<<<<<<<<<<< | |
* parent = outer_parent | |
* | |
*/ | |
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_append_child); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 402, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_append_child); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 409, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__pyx_t_5 = NULL; | |
__pyx_t_6 = 0; | |
@@ -9482,13 +9762,13 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_outer_parent}; | |
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 402, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 409, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
} | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- /* "falcon/routing/compiled.py":403 | |
+ /* "falcon/routing/compiled.py":410 | |
* outer_parent = _CxIfPathLength('>', level) | |
* parent.append_child(outer_parent) | |
* parent = outer_parent # <<<<<<<<<<<<<< | |
@@ -9498,7 +9778,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
__Pyx_INCREF(__pyx_v_outer_parent); | |
__Pyx_DECREF_SET(__pyx_v_parent, __pyx_v_outer_parent); | |
- /* "falcon/routing/compiled.py":405 | |
+ /* "falcon/routing/compiled.py":412 | |
* parent = outer_parent | |
* | |
* found_simple = False # <<<<<<<<<<<<<< | |
@@ -9507,74 +9787,69 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
*/ | |
__pyx_v_found_simple = 0; | |
- /* "falcon/routing/compiled.py":410 | |
+ /* "falcon/routing/compiled.py":417 | |
* # static nodes(0), complex var nodes(1) and simple var nodes(2). | |
* # so that none of them get masked. | |
* nodes = sorted( # <<<<<<<<<<<<<< | |
* nodes, key=lambda node: node.is_var + (node.is_var and not node.is_complex) | |
* ) | |
*/ | |
- __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 410, __pyx_L1_error) | |
+ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 417, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_INCREF(__pyx_v_nodes); | |
__Pyx_GIVEREF(__pyx_v_nodes); | |
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_nodes); | |
- /* "falcon/routing/compiled.py":411 | |
+ /* "falcon/routing/compiled.py":418 | |
* # so that none of them get masked. | |
* nodes = sorted( | |
* nodes, key=lambda node: node.is_var + (node.is_var and not node.is_complex) # <<<<<<<<<<<<<< | |
* ) | |
* | |
*/ | |
- __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 411, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 418, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
- __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_6falcon_7routing_8compiled_14CompiledRouter_13_generate_ast_lambda, 0, __pyx_n_s_CompiledRouter__generate_ast_loc, NULL, __pyx_n_s_falcon_routing_compiled, __pyx_d, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 411, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_6falcon_7routing_8compiled_14CompiledRouter_13_generate_ast_lambda, 0, __pyx_n_s_CompiledRouter__generate_ast_loc, NULL, __pyx_n_s_falcon_routing_compiled, __pyx_d, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 418, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
- if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_key, __pyx_t_5) < 0) __PYX_ERR(0, 411, __pyx_L1_error) | |
+ if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_key, __pyx_t_5) < 0) __PYX_ERR(0, 418, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
- /* "falcon/routing/compiled.py":410 | |
+ /* "falcon/routing/compiled.py":417 | |
* # static nodes(0), complex var nodes(1) and simple var nodes(2). | |
* # so that none of them get masked. | |
* nodes = sorted( # <<<<<<<<<<<<<< | |
* nodes, key=lambda node: node.is_var + (node.is_var and not node.is_complex) | |
* ) | |
*/ | |
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_sorted, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 410, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_sorted, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 417, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
- if (!(likely(PyList_CheckExact(__pyx_t_5))||((__pyx_t_5) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_t_5))) __PYX_ERR(0, 410, __pyx_L1_error) | |
- __Pyx_DECREF_SET(__pyx_v_nodes, ((PyObject*)__pyx_t_5)); | |
+ __Pyx_DECREF_SET(__pyx_v_nodes, __pyx_t_5); | |
__pyx_t_5 = 0; | |
- /* "falcon/routing/compiled.py":417 | |
+ /* "falcon/routing/compiled.py":424 | |
* # fast 'return None'. See if the nodes at this branch are | |
* # all still simple, meaning there is only one possible path. | |
* if fast_return: # <<<<<<<<<<<<<< | |
* if len(nodes) > 1: | |
* # NOTE(kgriffs): There's the possibility of more than | |
*/ | |
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_fast_return); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 417, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_fast_return); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 424, __pyx_L1_error) | |
if (__pyx_t_2) { | |
- /* "falcon/routing/compiled.py":418 | |
+ /* "falcon/routing/compiled.py":425 | |
* # all still simple, meaning there is only one possible path. | |
* if fast_return: | |
* if len(nodes) > 1: # <<<<<<<<<<<<<< | |
* # NOTE(kgriffs): There's the possibility of more than | |
* # one path. | |
*/ | |
- if (unlikely(__pyx_v_nodes == Py_None)) { | |
- PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); | |
- __PYX_ERR(0, 418, __pyx_L1_error) | |
- } | |
- __pyx_t_7 = PyList_GET_SIZE(__pyx_v_nodes); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 418, __pyx_L1_error) | |
+ __pyx_t_7 = PyObject_Length(__pyx_v_nodes); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 425, __pyx_L1_error) | |
__pyx_t_2 = ((__pyx_t_7 > 1) != 0); | |
if (__pyx_t_2) { | |
- /* "falcon/routing/compiled.py":421 | |
+ /* "falcon/routing/compiled.py":428 | |
* # NOTE(kgriffs): There's the possibility of more than | |
* # one path. | |
* var_nodes = [node for node in nodes if node.is_var] # <<<<<<<<<<<<<< | |
@@ -9582,29 +9857,55 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
* | |
*/ | |
{ /* enter inner scope */ | |
- __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 421, __pyx_L8_error) | |
+ __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 428, __pyx_L8_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
- if (unlikely(__pyx_v_nodes == Py_None)) { | |
- PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); | |
- __PYX_ERR(0, 421, __pyx_L8_error) | |
+ if (likely(PyList_CheckExact(__pyx_v_nodes)) || PyTuple_CheckExact(__pyx_v_nodes)) { | |
+ __pyx_t_4 = __pyx_v_nodes; __Pyx_INCREF(__pyx_t_4); __pyx_t_7 = 0; | |
+ __pyx_t_8 = NULL; | |
+ } else { | |
+ __pyx_t_7 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_v_nodes); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 428, __pyx_L8_error) | |
+ __Pyx_GOTREF(__pyx_t_4); | |
+ __pyx_t_8 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 428, __pyx_L8_error) | |
} | |
- __pyx_t_4 = __pyx_v_nodes; __Pyx_INCREF(__pyx_t_4); __pyx_t_7 = 0; | |
for (;;) { | |
- if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_4)) break; | |
- #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
- __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely((0 < 0))) __PYX_ERR(0, 421, __pyx_L8_error) | |
- #else | |
- __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 421, __pyx_L8_error) | |
- __Pyx_GOTREF(__pyx_t_3); | |
- #endif | |
+ if (likely(!__pyx_t_8)) { | |
+ if (likely(PyList_CheckExact(__pyx_t_4))) { | |
+ if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_4)) break; | |
+ #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
+ __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely((0 < 0))) __PYX_ERR(0, 428, __pyx_L8_error) | |
+ #else | |
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 428, __pyx_L8_error) | |
+ __Pyx_GOTREF(__pyx_t_3); | |
+ #endif | |
+ } else { | |
+ if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_4)) break; | |
+ #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
+ __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely((0 < 0))) __PYX_ERR(0, 428, __pyx_L8_error) | |
+ #else | |
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 428, __pyx_L8_error) | |
+ __Pyx_GOTREF(__pyx_t_3); | |
+ #endif | |
+ } | |
+ } else { | |
+ __pyx_t_3 = __pyx_t_8(__pyx_t_4); | |
+ if (unlikely(!__pyx_t_3)) { | |
+ PyObject* exc_type = PyErr_Occurred(); | |
+ if (exc_type) { | |
+ if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); | |
+ else __PYX_ERR(0, 428, __pyx_L8_error) | |
+ } | |
+ break; | |
+ } | |
+ __Pyx_GOTREF(__pyx_t_3); | |
+ } | |
__Pyx_XDECREF_SET(__pyx_7genexpr__pyx_v_node, __pyx_t_3); | |
__pyx_t_3 = 0; | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_7genexpr__pyx_v_node, __pyx_n_s_is_var); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 421, __pyx_L8_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_7genexpr__pyx_v_node, __pyx_n_s_is_var); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 428, __pyx_L8_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 421, __pyx_L8_error) | |
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 428, __pyx_L8_error) | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
if (__pyx_t_2) { | |
- if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_7genexpr__pyx_v_node))) __PYX_ERR(0, 421, __pyx_L8_error) | |
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_7genexpr__pyx_v_node))) __PYX_ERR(0, 428, __pyx_L8_error) | |
} | |
} | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
@@ -9618,7 +9919,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
__pyx_v_var_nodes = ((PyObject*)__pyx_t_5); | |
__pyx_t_5 = 0; | |
- /* "falcon/routing/compiled.py":422 | |
+ /* "falcon/routing/compiled.py":429 | |
* # one path. | |
* var_nodes = [node for node in nodes if node.is_var] | |
* found_var_nodes = bool(var_nodes) # <<<<<<<<<<<<<< | |
@@ -9626,25 +9927,25 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
* fast_return = not found_var_nodes | |
*/ | |
__pyx_t_2 = (PyList_GET_SIZE(__pyx_v_var_nodes) != 0); | |
- __pyx_t_5 = __Pyx_PyBool_FromLong((!(!__pyx_t_2))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 422, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_PyBool_FromLong((!(!__pyx_t_2))); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 429, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__pyx_v_found_var_nodes = __pyx_t_5; | |
__pyx_t_5 = 0; | |
- /* "falcon/routing/compiled.py":424 | |
+ /* "falcon/routing/compiled.py":431 | |
* found_var_nodes = bool(var_nodes) | |
* | |
* fast_return = not found_var_nodes # <<<<<<<<<<<<<< | |
* | |
- * construct = None # type: Any | |
+ * original_params_stack = params_stack.copy() | |
*/ | |
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_found_var_nodes); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 424, __pyx_L1_error) | |
- __pyx_t_5 = __Pyx_PyBool_FromLong((!__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 424, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_found_var_nodes); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 431, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_PyBool_FromLong((!__pyx_t_2)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 431, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__Pyx_DECREF_SET(__pyx_v_fast_return, __pyx_t_5); | |
__pyx_t_5 = 0; | |
- /* "falcon/routing/compiled.py":418 | |
+ /* "falcon/routing/compiled.py":425 | |
* # all still simple, meaning there is only one possible path. | |
* if fast_return: | |
* if len(nodes) > 1: # <<<<<<<<<<<<<< | |
@@ -9653,7 +9954,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
*/ | |
} | |
- /* "falcon/routing/compiled.py":417 | |
+ /* "falcon/routing/compiled.py":424 | |
* # fast 'return None'. See if the nodes at this branch are | |
* # all still simple, meaning there is only one possible path. | |
* if fast_return: # <<<<<<<<<<<<<< | |
@@ -9662,349 +9963,388 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
*/ | |
} | |
- /* "falcon/routing/compiled.py":426 | |
+ /* "falcon/routing/compiled.py":433 | |
* fast_return = not found_var_nodes | |
* | |
- * construct = None # type: Any # <<<<<<<<<<<<<< | |
- * setter = None # type: Any | |
- * original_params_stack = params_stack.copy() | |
- */ | |
- __Pyx_INCREF(Py_None); | |
- __pyx_v_construct = Py_None; | |
- | |
- /* "falcon/routing/compiled.py":427 | |
- * | |
- * construct = None # type: Any | |
- * setter = None # type: Any # <<<<<<<<<<<<<< | |
- * original_params_stack = params_stack.copy() | |
- * for node in nodes: | |
- */ | |
- __Pyx_INCREF(Py_None); | |
- __pyx_v_setter = Py_None; | |
- | |
- /* "falcon/routing/compiled.py":428 | |
- * construct = None # type: Any | |
- * setter = None # type: Any | |
* original_params_stack = params_stack.copy() # <<<<<<<<<<<<<< | |
* for node in nodes: | |
* params_stack = original_params_stack.copy() | |
*/ | |
- __pyx_t_5 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyList_Type_copy, __pyx_v_params_stack); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 428, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_5); | |
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_params_stack, __pyx_n_s_copy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 433, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_4); | |
+ __pyx_t_3 = NULL; | |
+ __pyx_t_6 = 0; | |
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { | |
+ __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); | |
+ if (likely(__pyx_t_3)) { | |
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); | |
+ __Pyx_INCREF(__pyx_t_3); | |
+ __Pyx_INCREF(function); | |
+ __Pyx_DECREF_SET(__pyx_t_4, function); | |
+ __pyx_t_6 = 1; | |
+ } | |
+ } | |
+ { | |
+ PyObject *__pyx_callargs[1] = {__pyx_t_3, }; | |
+ __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6); | |
+ __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; | |
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 433, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_5); | |
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
+ } | |
__pyx_v_original_params_stack = __pyx_t_5; | |
__pyx_t_5 = 0; | |
- /* "falcon/routing/compiled.py":429 | |
- * setter = None # type: Any | |
+ /* "falcon/routing/compiled.py":434 | |
+ * | |
* original_params_stack = params_stack.copy() | |
* for node in nodes: # <<<<<<<<<<<<<< | |
* params_stack = original_params_stack.copy() | |
* if node.is_var: | |
*/ | |
- if (unlikely(__pyx_v_nodes == Py_None)) { | |
- PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); | |
- __PYX_ERR(0, 429, __pyx_L1_error) | |
+ if (likely(PyList_CheckExact(__pyx_v_nodes)) || PyTuple_CheckExact(__pyx_v_nodes)) { | |
+ __pyx_t_5 = __pyx_v_nodes; __Pyx_INCREF(__pyx_t_5); __pyx_t_7 = 0; | |
+ __pyx_t_8 = NULL; | |
+ } else { | |
+ __pyx_t_7 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_nodes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 434, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_5); | |
+ __pyx_t_8 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 434, __pyx_L1_error) | |
} | |
- __pyx_t_5 = __pyx_v_nodes; __Pyx_INCREF(__pyx_t_5); __pyx_t_7 = 0; | |
for (;;) { | |
- if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_5)) break; | |
- #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
- __pyx_t_4 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_7); __Pyx_INCREF(__pyx_t_4); __pyx_t_7++; if (unlikely((0 < 0))) __PYX_ERR(0, 429, __pyx_L1_error) | |
- #else | |
- __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 429, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_4); | |
- #endif | |
+ if (likely(!__pyx_t_8)) { | |
+ if (likely(PyList_CheckExact(__pyx_t_5))) { | |
+ if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_5)) break; | |
+ #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
+ __pyx_t_4 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_7); __Pyx_INCREF(__pyx_t_4); __pyx_t_7++; if (unlikely((0 < 0))) __PYX_ERR(0, 434, __pyx_L1_error) | |
+ #else | |
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 434, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_4); | |
+ #endif | |
+ } else { | |
+ if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_5)) break; | |
+ #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
+ __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_7); __Pyx_INCREF(__pyx_t_4); __pyx_t_7++; if (unlikely((0 < 0))) __PYX_ERR(0, 434, __pyx_L1_error) | |
+ #else | |
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 434, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_4); | |
+ #endif | |
+ } | |
+ } else { | |
+ __pyx_t_4 = __pyx_t_8(__pyx_t_5); | |
+ if (unlikely(!__pyx_t_4)) { | |
+ PyObject* exc_type = PyErr_Occurred(); | |
+ if (exc_type) { | |
+ if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); | |
+ else __PYX_ERR(0, 434, __pyx_L1_error) | |
+ } | |
+ break; | |
+ } | |
+ __Pyx_GOTREF(__pyx_t_4); | |
+ } | |
__Pyx_XDECREF_SET(__pyx_v_node, __pyx_t_4); | |
__pyx_t_4 = 0; | |
- /* "falcon/routing/compiled.py":430 | |
+ /* "falcon/routing/compiled.py":435 | |
* original_params_stack = params_stack.copy() | |
* for node in nodes: | |
* params_stack = original_params_stack.copy() # <<<<<<<<<<<<<< | |
* if node.is_var: | |
* if node.is_complex: | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_original_params_stack, __pyx_n_s_copy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 430, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_original_params_stack, __pyx_n_s_copy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 435, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_8 = NULL; | |
+ __pyx_t_9 = NULL; | |
__pyx_t_6 = 0; | |
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { | |
- __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); | |
- if (likely(__pyx_t_8)) { | |
+ __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3); | |
+ if (likely(__pyx_t_9)) { | |
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); | |
- __Pyx_INCREF(__pyx_t_8); | |
+ __Pyx_INCREF(__pyx_t_9); | |
__Pyx_INCREF(function); | |
__Pyx_DECREF_SET(__pyx_t_3, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[1] = {__pyx_t_8, }; | |
+ PyObject *__pyx_callargs[1] = {__pyx_t_9, }; | |
__pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6); | |
- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; | |
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 430, __pyx_L1_error) | |
+ __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; | |
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 435, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
- if (!(likely(PyList_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_t_4))) __PYX_ERR(0, 430, __pyx_L1_error) | |
- __Pyx_DECREF_SET(__pyx_v_params_stack, ((PyObject*)__pyx_t_4)); | |
+ __Pyx_DECREF_SET(__pyx_v_params_stack, __pyx_t_4); | |
__pyx_t_4 = 0; | |
- /* "falcon/routing/compiled.py":431 | |
+ /* "falcon/routing/compiled.py":436 | |
* for node in nodes: | |
* params_stack = original_params_stack.copy() | |
* if node.is_var: # <<<<<<<<<<<<<< | |
* if node.is_complex: | |
* # NOTE(richardolsson): Complex nodes are nodes which | |
*/ | |
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_is_var); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 431, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_is_var); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 436, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 431, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 436, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
if (__pyx_t_2) { | |
- /* "falcon/routing/compiled.py":432 | |
+ /* "falcon/routing/compiled.py":437 | |
* params_stack = original_params_stack.copy() | |
* if node.is_var: | |
* if node.is_complex: # <<<<<<<<<<<<<< | |
* # NOTE(richardolsson): Complex nodes are nodes which | |
* # contain anything more than a single literal or variable, | |
*/ | |
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_is_complex); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 432, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_is_complex); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 437, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 432, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 437, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
if (__pyx_t_2) { | |
- /* "falcon/routing/compiled.py":437 | |
+ /* "falcon/routing/compiled.py":442 | |
* # and they need to be checked using a pre-compiled regular | |
* # expression. | |
- * pattern_idx = len(patterns) # <<<<<<<<<<<<<< | |
+ * assert node.var_pattern # <<<<<<<<<<<<<< | |
+ * pattern_idx = len(patterns) | |
* patterns.append(node.var_pattern) | |
- * | |
*/ | |
- if (unlikely(__pyx_v_patterns == Py_None)) { | |
- PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); | |
- __PYX_ERR(0, 437, __pyx_L1_error) | |
+ #ifndef CYTHON_WITHOUT_ASSERTIONS | |
+ if (unlikely(!Py_OptimizeFlag)) { | |
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_var_pattern); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 442, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_4); | |
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 442, __pyx_L1_error) | |
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
+ if (unlikely(!__pyx_t_2)) { | |
+ __Pyx_Raise(__pyx_builtin_AssertionError, 0, 0, 0); | |
+ __PYX_ERR(0, 442, __pyx_L1_error) | |
+ } | |
} | |
- __pyx_t_9 = PyList_GET_SIZE(__pyx_v_patterns); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 437, __pyx_L1_error) | |
- __pyx_v_pattern_idx = __pyx_t_9; | |
+ #else | |
+ if ((1)); else __PYX_ERR(0, 442, __pyx_L1_error) | |
+ #endif | |
- /* "falcon/routing/compiled.py":438 | |
+ /* "falcon/routing/compiled.py":443 | |
* # expression. | |
+ * assert node.var_pattern | |
+ * pattern_idx = len(patterns) # <<<<<<<<<<<<<< | |
+ * patterns.append(node.var_pattern) | |
+ * | |
+ */ | |
+ __pyx_t_10 = PyObject_Length(__pyx_v_patterns); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 443, __pyx_L1_error) | |
+ __pyx_v_pattern_idx = __pyx_t_10; | |
+ | |
+ /* "falcon/routing/compiled.py":444 | |
+ * assert node.var_pattern | |
* pattern_idx = len(patterns) | |
* patterns.append(node.var_pattern) # <<<<<<<<<<<<<< | |
* | |
- * construct = _CxIfPathSegmentPattern( | |
+ * cx_segment = _CxIfPathSegmentPattern( | |
*/ | |
- if (unlikely(__pyx_v_patterns == Py_None)) { | |
- PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append"); | |
- __PYX_ERR(0, 438, __pyx_L1_error) | |
- } | |
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_var_pattern); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 438, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_var_pattern); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 444, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
- __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_patterns, __pyx_t_4); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(0, 438, __pyx_L1_error) | |
+ __pyx_t_11 = __Pyx_PyObject_Append(__pyx_v_patterns, __pyx_t_4); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 444, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
- /* "falcon/routing/compiled.py":440 | |
+ /* "falcon/routing/compiled.py":446 | |
* patterns.append(node.var_pattern) | |
* | |
- * construct = _CxIfPathSegmentPattern( # <<<<<<<<<<<<<< | |
+ * cx_segment = _CxIfPathSegmentPattern( # <<<<<<<<<<<<<< | |
* level, pattern_idx, node.var_pattern.pattern | |
* ) | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CxIfPathSegmentPattern); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 440, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CxIfPathSegmentPattern); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 446, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- /* "falcon/routing/compiled.py":441 | |
+ /* "falcon/routing/compiled.py":447 | |
* | |
- * construct = _CxIfPathSegmentPattern( | |
+ * cx_segment = _CxIfPathSegmentPattern( | |
* level, pattern_idx, node.var_pattern.pattern # <<<<<<<<<<<<<< | |
* ) | |
- * parent.append_child(construct) | |
+ * parent.append_child(cx_segment) | |
*/ | |
- __pyx_t_8 = PyInt_FromSsize_t(__pyx_v_pattern_idx); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 441, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_8); | |
- __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_var_pattern); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 441, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_11); | |
- __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_pattern); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 441, __pyx_L1_error) | |
+ __pyx_t_9 = PyInt_FromSsize_t(__pyx_v_pattern_idx); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 447, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_9); | |
+ __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_var_pattern); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 447, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_12); | |
- __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; | |
- __pyx_t_11 = NULL; | |
+ __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_pattern); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 447, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_13); | |
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; | |
+ __pyx_t_12 = NULL; | |
__pyx_t_6 = 0; | |
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { | |
- __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_3); | |
- if (likely(__pyx_t_11)) { | |
+ __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_3); | |
+ if (likely(__pyx_t_12)) { | |
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); | |
- __Pyx_INCREF(__pyx_t_11); | |
+ __Pyx_INCREF(__pyx_t_12); | |
__Pyx_INCREF(function); | |
__Pyx_DECREF_SET(__pyx_t_3, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[4] = {__pyx_t_11, __pyx_v_level, __pyx_t_8, __pyx_t_12}; | |
+ PyObject *__pyx_callargs[4] = {__pyx_t_12, __pyx_v_level, __pyx_t_9, __pyx_t_13}; | |
__pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 3+__pyx_t_6); | |
- __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; | |
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
- __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; | |
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 440, __pyx_L1_error) | |
+ __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; | |
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; | |
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 446, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
- __Pyx_DECREF_SET(__pyx_v_construct, __pyx_t_4); | |
+ __Pyx_XDECREF_SET(__pyx_v_cx_segment, __pyx_t_4); | |
__pyx_t_4 = 0; | |
- /* "falcon/routing/compiled.py":443 | |
+ /* "falcon/routing/compiled.py":449 | |
* level, pattern_idx, node.var_pattern.pattern | |
* ) | |
- * parent.append_child(construct) # <<<<<<<<<<<<<< | |
- * parent = construct | |
+ * parent.append_child(cx_segment) # <<<<<<<<<<<<<< | |
+ * parent = cx_segment | |
* | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_append_child); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 443, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_append_child); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 449, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_12 = NULL; | |
+ __pyx_t_13 = NULL; | |
__pyx_t_6 = 0; | |
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { | |
- __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_3); | |
- if (likely(__pyx_t_12)) { | |
+ __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3); | |
+ if (likely(__pyx_t_13)) { | |
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); | |
- __Pyx_INCREF(__pyx_t_12); | |
+ __Pyx_INCREF(__pyx_t_13); | |
__Pyx_INCREF(function); | |
__Pyx_DECREF_SET(__pyx_t_3, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_v_construct}; | |
+ PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_v_cx_segment}; | |
__pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
- __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; | |
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 443, __pyx_L1_error) | |
+ __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; | |
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 449, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
- /* "falcon/routing/compiled.py":444 | |
+ /* "falcon/routing/compiled.py":450 | |
* ) | |
- * parent.append_child(construct) | |
- * parent = construct # <<<<<<<<<<<<<< | |
+ * parent.append_child(cx_segment) | |
+ * parent = cx_segment # <<<<<<<<<<<<<< | |
* | |
* if node.var_converter_map: | |
*/ | |
- __Pyx_INCREF(__pyx_v_construct); | |
- __Pyx_DECREF_SET(__pyx_v_parent, __pyx_v_construct); | |
+ __Pyx_INCREF(__pyx_v_cx_segment); | |
+ __Pyx_DECREF_SET(__pyx_v_parent, __pyx_v_cx_segment); | |
- /* "falcon/routing/compiled.py":446 | |
- * parent = construct | |
+ /* "falcon/routing/compiled.py":452 | |
+ * parent = cx_segment | |
* | |
* if node.var_converter_map: # <<<<<<<<<<<<<< | |
* parent.append_child(_CxPrefetchGroupsFromPatternMatch()) | |
* parent = self._generate_conversion_ast( | |
*/ | |
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_var_converter_map); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 446, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_var_converter_map); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 452, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 446, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 452, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
if (__pyx_t_2) { | |
- /* "falcon/routing/compiled.py":447 | |
+ /* "falcon/routing/compiled.py":453 | |
* | |
* if node.var_converter_map: | |
* parent.append_child(_CxPrefetchGroupsFromPatternMatch()) # <<<<<<<<<<<<<< | |
* parent = self._generate_conversion_ast( | |
* parent, node, params_stack | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_append_child); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 447, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_append_child); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 453, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_CxPrefetchGroupsFromPatternMatc); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 447, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_8); | |
- __pyx_t_11 = NULL; | |
+ __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_CxPrefetchGroupsFromPatternMatc); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 453, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_9); | |
+ __pyx_t_12 = NULL; | |
__pyx_t_6 = 0; | |
- if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { | |
- __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_8); | |
- if (likely(__pyx_t_11)) { | |
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); | |
- __Pyx_INCREF(__pyx_t_11); | |
+ if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { | |
+ __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_9); | |
+ if (likely(__pyx_t_12)) { | |
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); | |
+ __Pyx_INCREF(__pyx_t_12); | |
__Pyx_INCREF(function); | |
- __Pyx_DECREF_SET(__pyx_t_8, function); | |
+ __Pyx_DECREF_SET(__pyx_t_9, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[1] = {__pyx_t_11, }; | |
- __pyx_t_12 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6); | |
- __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; | |
- if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 447, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_12); | |
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
+ PyObject *__pyx_callargs[1] = {__pyx_t_12, }; | |
+ __pyx_t_13 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6); | |
+ __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; | |
+ if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 453, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_13); | |
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
} | |
- __pyx_t_8 = NULL; | |
+ __pyx_t_9 = NULL; | |
__pyx_t_6 = 0; | |
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { | |
- __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); | |
- if (likely(__pyx_t_8)) { | |
+ __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3); | |
+ if (likely(__pyx_t_9)) { | |
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); | |
- __Pyx_INCREF(__pyx_t_8); | |
+ __Pyx_INCREF(__pyx_t_9); | |
__Pyx_INCREF(function); | |
__Pyx_DECREF_SET(__pyx_t_3, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_12}; | |
+ PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_13}; | |
__pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; | |
- __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; | |
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 447, __pyx_L1_error) | |
+ __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; | |
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; | |
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 453, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
- /* "falcon/routing/compiled.py":448 | |
+ /* "falcon/routing/compiled.py":454 | |
* if node.var_converter_map: | |
* parent.append_child(_CxPrefetchGroupsFromPatternMatch()) | |
* parent = self._generate_conversion_ast( # <<<<<<<<<<<<<< | |
* parent, node, params_stack | |
* ) | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_generate_conversion_ast); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 448, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_generate_conversion_ast); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 454, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- /* "falcon/routing/compiled.py":449 | |
+ /* "falcon/routing/compiled.py":455 | |
* parent.append_child(_CxPrefetchGroupsFromPatternMatch()) | |
* parent = self._generate_conversion_ast( | |
* parent, node, params_stack # <<<<<<<<<<<<<< | |
* ) | |
* | |
*/ | |
- __pyx_t_12 = NULL; | |
+ __pyx_t_13 = NULL; | |
__pyx_t_6 = 0; | |
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { | |
- __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_3); | |
- if (likely(__pyx_t_12)) { | |
+ __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3); | |
+ if (likely(__pyx_t_13)) { | |
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); | |
- __Pyx_INCREF(__pyx_t_12); | |
+ __Pyx_INCREF(__pyx_t_13); | |
__Pyx_INCREF(function); | |
__Pyx_DECREF_SET(__pyx_t_3, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[4] = {__pyx_t_12, __pyx_v_parent, __pyx_v_node, __pyx_v_params_stack}; | |
+ PyObject *__pyx_callargs[4] = {__pyx_t_13, __pyx_v_parent, __pyx_v_node, __pyx_v_params_stack}; | |
__pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 3+__pyx_t_6); | |
- __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; | |
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 448, __pyx_L1_error) | |
+ __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; | |
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 454, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
__Pyx_DECREF_SET(__pyx_v_parent, __pyx_t_4); | |
__pyx_t_4 = 0; | |
- /* "falcon/routing/compiled.py":446 | |
- * parent = construct | |
+ /* "falcon/routing/compiled.py":452 | |
+ * parent = cx_segment | |
* | |
* if node.var_converter_map: # <<<<<<<<<<<<<< | |
* parent.append_child(_CxPrefetchGroupsFromPatternMatch()) | |
@@ -10013,121 +10353,112 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
goto __pyx_L17; | |
} | |
- /* "falcon/routing/compiled.py":453 | |
+ /* "falcon/routing/compiled.py":459 | |
* | |
* else: | |
- * construct = _CxVariableFromPatternMatch(len(params_stack) + 1) # <<<<<<<<<<<<<< | |
- * setter = _CxSetParamsFromDict(construct.dict_variable_name) | |
- * params_stack.append(setter) | |
+ * cx_pattern = _CxVariableFromPatternMatch(len(params_stack) + 1) # <<<<<<<<<<<<<< | |
+ * params_stack.append( | |
+ * _CxSetParamsFromDict(cx_pattern.dict_variable_name) | |
*/ | |
/*else*/ { | |
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CxVariableFromPatternMatch); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 453, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CxVariableFromPatternMatch); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 459, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- if (unlikely(__pyx_v_params_stack == Py_None)) { | |
- PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); | |
- __PYX_ERR(0, 453, __pyx_L1_error) | |
- } | |
- __pyx_t_9 = PyList_GET_SIZE(__pyx_v_params_stack); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 453, __pyx_L1_error) | |
- __pyx_t_12 = PyInt_FromSsize_t((__pyx_t_9 + 1)); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 453, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_12); | |
- __pyx_t_8 = NULL; | |
+ __pyx_t_10 = PyObject_Length(__pyx_v_params_stack); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 459, __pyx_L1_error) | |
+ __pyx_t_13 = PyInt_FromSsize_t((__pyx_t_10 + 1)); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 459, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_13); | |
+ __pyx_t_9 = NULL; | |
__pyx_t_6 = 0; | |
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { | |
- __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); | |
- if (likely(__pyx_t_8)) { | |
+ __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3); | |
+ if (likely(__pyx_t_9)) { | |
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); | |
- __Pyx_INCREF(__pyx_t_8); | |
+ __Pyx_INCREF(__pyx_t_9); | |
__Pyx_INCREF(function); | |
__Pyx_DECREF_SET(__pyx_t_3, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_12}; | |
+ PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_13}; | |
__pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; | |
- __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; | |
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 453, __pyx_L1_error) | |
+ __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; | |
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; | |
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 459, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
- __Pyx_DECREF_SET(__pyx_v_construct, __pyx_t_4); | |
+ __Pyx_XDECREF_SET(__pyx_v_cx_pattern, __pyx_t_4); | |
__pyx_t_4 = 0; | |
- /* "falcon/routing/compiled.py":454 | |
- * else: | |
- * construct = _CxVariableFromPatternMatch(len(params_stack) + 1) | |
- * setter = _CxSetParamsFromDict(construct.dict_variable_name) # <<<<<<<<<<<<<< | |
- * params_stack.append(setter) | |
- * parent.append_child(construct) | |
+ /* "falcon/routing/compiled.py":461 | |
+ * cx_pattern = _CxVariableFromPatternMatch(len(params_stack) + 1) | |
+ * params_stack.append( | |
+ * _CxSetParamsFromDict(cx_pattern.dict_variable_name) # <<<<<<<<<<<<<< | |
+ * ) | |
+ * parent.append_child(cx_pattern) | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CxSetParamsFromDict); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 454, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CxSetParamsFromDict); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 461, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_construct, __pyx_n_s_dict_variable_name); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 454, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_12); | |
- __pyx_t_8 = NULL; | |
+ __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_cx_pattern, __pyx_n_s_dict_variable_name); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 461, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_13); | |
+ __pyx_t_9 = NULL; | |
__pyx_t_6 = 0; | |
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { | |
- __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); | |
- if (likely(__pyx_t_8)) { | |
+ __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3); | |
+ if (likely(__pyx_t_9)) { | |
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); | |
- __Pyx_INCREF(__pyx_t_8); | |
+ __Pyx_INCREF(__pyx_t_9); | |
__Pyx_INCREF(function); | |
__Pyx_DECREF_SET(__pyx_t_3, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_12}; | |
+ PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_13}; | |
__pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; | |
- __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; | |
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 454, __pyx_L1_error) | |
+ __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; | |
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; | |
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 461, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
- __Pyx_DECREF_SET(__pyx_v_setter, __pyx_t_4); | |
- __pyx_t_4 = 0; | |
- /* "falcon/routing/compiled.py":455 | |
- * construct = _CxVariableFromPatternMatch(len(params_stack) + 1) | |
- * setter = _CxSetParamsFromDict(construct.dict_variable_name) | |
- * params_stack.append(setter) # <<<<<<<<<<<<<< | |
- * parent.append_child(construct) | |
- * | |
+ /* "falcon/routing/compiled.py":460 | |
+ * else: | |
+ * cx_pattern = _CxVariableFromPatternMatch(len(params_stack) + 1) | |
+ * params_stack.append( # <<<<<<<<<<<<<< | |
+ * _CxSetParamsFromDict(cx_pattern.dict_variable_name) | |
+ * ) | |
*/ | |
- if (unlikely(__pyx_v_params_stack == Py_None)) { | |
- PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append"); | |
- __PYX_ERR(0, 455, __pyx_L1_error) | |
- } | |
- __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_params_stack, __pyx_v_setter); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(0, 455, __pyx_L1_error) | |
+ __pyx_t_11 = __Pyx_PyObject_Append(__pyx_v_params_stack, __pyx_t_4); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 460, __pyx_L1_error) | |
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
- /* "falcon/routing/compiled.py":456 | |
- * setter = _CxSetParamsFromDict(construct.dict_variable_name) | |
- * params_stack.append(setter) | |
- * parent.append_child(construct) # <<<<<<<<<<<<<< | |
+ /* "falcon/routing/compiled.py":463 | |
+ * _CxSetParamsFromDict(cx_pattern.dict_variable_name) | |
+ * ) | |
+ * parent.append_child(cx_pattern) # <<<<<<<<<<<<<< | |
* | |
* else: | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_append_child); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 456, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_append_child); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 463, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_12 = NULL; | |
+ __pyx_t_13 = NULL; | |
__pyx_t_6 = 0; | |
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { | |
- __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_3); | |
- if (likely(__pyx_t_12)) { | |
+ __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3); | |
+ if (likely(__pyx_t_13)) { | |
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); | |
- __Pyx_INCREF(__pyx_t_12); | |
+ __Pyx_INCREF(__pyx_t_13); | |
__Pyx_INCREF(function); | |
__Pyx_DECREF_SET(__pyx_t_3, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_v_construct}; | |
+ PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_v_cx_pattern}; | |
__pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
- __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; | |
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 456, __pyx_L1_error) | |
+ __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; | |
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 463, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
@@ -10135,7 +10466,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
} | |
__pyx_L17:; | |
- /* "falcon/routing/compiled.py":432 | |
+ /* "falcon/routing/compiled.py":437 | |
* params_stack = original_params_stack.copy() | |
* if node.is_var: | |
* if node.is_complex: # <<<<<<<<<<<<<< | |
@@ -10145,7 +10476,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
goto __pyx_L16; | |
} | |
- /* "falcon/routing/compiled.py":462 | |
+ /* "falcon/routing/compiled.py":469 | |
* # segment as the value for the param. | |
* | |
* if node.var_converter_map: # <<<<<<<<<<<<<< | |
@@ -10153,13 +10484,13 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
* | |
*/ | |
/*else*/ { | |
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_var_converter_map); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 462, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_var_converter_map); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 469, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 462, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 469, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
if (__pyx_t_2) { | |
- /* "falcon/routing/compiled.py":463 | |
+ /* "falcon/routing/compiled.py":470 | |
* | |
* if node.var_converter_map: | |
* assert len(node.var_converter_map) == 1 # <<<<<<<<<<<<<< | |
@@ -10168,96 +10499,96 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
*/ | |
#ifndef CYTHON_WITHOUT_ASSERTIONS | |
if (unlikely(!Py_OptimizeFlag)) { | |
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_var_converter_map); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 463, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_var_converter_map); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 470, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
- __pyx_t_9 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 463, __pyx_L1_error) | |
+ __pyx_t_10 = PyObject_Length(__pyx_t_4); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 470, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
- __pyx_t_2 = ((__pyx_t_9 == 1) != 0); | |
+ __pyx_t_2 = ((__pyx_t_10 == 1) != 0); | |
if (unlikely(!__pyx_t_2)) { | |
__Pyx_Raise(__pyx_builtin_AssertionError, 0, 0, 0); | |
- __PYX_ERR(0, 463, __pyx_L1_error) | |
+ __PYX_ERR(0, 470, __pyx_L1_error) | |
} | |
} | |
#else | |
- if ((1)); else __PYX_ERR(0, 463, __pyx_L1_error) | |
+ if ((1)); else __PYX_ERR(0, 470, __pyx_L1_error) | |
#endif | |
- /* "falcon/routing/compiled.py":465 | |
+ /* "falcon/routing/compiled.py":472 | |
* assert len(node.var_converter_map) == 1 | |
* | |
* parent.append_child(_CxSetFragmentFromPath(level)) # <<<<<<<<<<<<<< | |
* | |
* field_name = node.var_name | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_append_child); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 465, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_append_child); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 472, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_CxSetFragmentFromPath); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 465, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_8); | |
- __pyx_t_11 = NULL; | |
+ __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_CxSetFragmentFromPath); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 472, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_9); | |
+ __pyx_t_12 = NULL; | |
__pyx_t_6 = 0; | |
- if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { | |
- __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_8); | |
- if (likely(__pyx_t_11)) { | |
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); | |
- __Pyx_INCREF(__pyx_t_11); | |
+ if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { | |
+ __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_9); | |
+ if (likely(__pyx_t_12)) { | |
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); | |
+ __Pyx_INCREF(__pyx_t_12); | |
__Pyx_INCREF(function); | |
- __Pyx_DECREF_SET(__pyx_t_8, function); | |
+ __Pyx_DECREF_SET(__pyx_t_9, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_v_level}; | |
- __pyx_t_12 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
- __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; | |
- if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 465, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_12); | |
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
+ PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_v_level}; | |
+ __pyx_t_13 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
+ __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; | |
+ if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 472, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_13); | |
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
} | |
- __pyx_t_8 = NULL; | |
+ __pyx_t_9 = NULL; | |
__pyx_t_6 = 0; | |
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { | |
- __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); | |
- if (likely(__pyx_t_8)) { | |
+ __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3); | |
+ if (likely(__pyx_t_9)) { | |
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); | |
- __Pyx_INCREF(__pyx_t_8); | |
+ __Pyx_INCREF(__pyx_t_9); | |
__Pyx_INCREF(function); | |
__Pyx_DECREF_SET(__pyx_t_3, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_12}; | |
+ PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_13}; | |
__pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
- __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; | |
- __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; | |
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 465, __pyx_L1_error) | |
+ __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; | |
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; | |
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 472, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
- /* "falcon/routing/compiled.py":467 | |
+ /* "falcon/routing/compiled.py":474 | |
* parent.append_child(_CxSetFragmentFromPath(level)) | |
* | |
* field_name = node.var_name # <<<<<<<<<<<<<< | |
* __, converter_name, converter_argstr = node.var_converter_map[0] | |
* converter_class = self._converter_map[converter_name] | |
*/ | |
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_var_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 467, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_var_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 474, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_XDECREF_SET(__pyx_v_field_name, __pyx_t_4); | |
__pyx_t_4 = 0; | |
- /* "falcon/routing/compiled.py":468 | |
+ /* "falcon/routing/compiled.py":475 | |
* | |
* field_name = node.var_name | |
* __, converter_name, converter_argstr = node.var_converter_map[0] # <<<<<<<<<<<<<< | |
* converter_class = self._converter_map[converter_name] | |
* | |
*/ | |
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_var_converter_map); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 468, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_var_converter_map); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 475, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
- __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 468, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 475, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) { | |
@@ -10266,255 +10597,246 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
if (unlikely(size != 3)) { | |
if (size > 3) __Pyx_RaiseTooManyValuesError(3); | |
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); | |
- __PYX_ERR(0, 468, __pyx_L1_error) | |
+ __PYX_ERR(0, 475, __pyx_L1_error) | |
} | |
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
if (likely(PyTuple_CheckExact(sequence))) { | |
__pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); | |
- __pyx_t_12 = PyTuple_GET_ITEM(sequence, 1); | |
- __pyx_t_8 = PyTuple_GET_ITEM(sequence, 2); | |
+ __pyx_t_13 = PyTuple_GET_ITEM(sequence, 1); | |
+ __pyx_t_9 = PyTuple_GET_ITEM(sequence, 2); | |
} else { | |
__pyx_t_4 = PyList_GET_ITEM(sequence, 0); | |
- __pyx_t_12 = PyList_GET_ITEM(sequence, 1); | |
- __pyx_t_8 = PyList_GET_ITEM(sequence, 2); | |
+ __pyx_t_13 = PyList_GET_ITEM(sequence, 1); | |
+ __pyx_t_9 = PyList_GET_ITEM(sequence, 2); | |
} | |
__Pyx_INCREF(__pyx_t_4); | |
- __Pyx_INCREF(__pyx_t_12); | |
- __Pyx_INCREF(__pyx_t_8); | |
+ __Pyx_INCREF(__pyx_t_13); | |
+ __Pyx_INCREF(__pyx_t_9); | |
#else | |
- __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 468, __pyx_L1_error) | |
+ __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 475, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
- __pyx_t_12 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 468, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_12); | |
- __pyx_t_8 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 468, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_8); | |
+ __pyx_t_13 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 475, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_13); | |
+ __pyx_t_9 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 475, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_9); | |
#endif | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} else { | |
Py_ssize_t index = -1; | |
- __pyx_t_11 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 468, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_11); | |
+ __pyx_t_12 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 475, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_12); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- __pyx_t_13 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_11); | |
- index = 0; __pyx_t_4 = __pyx_t_13(__pyx_t_11); if (unlikely(!__pyx_t_4)) goto __pyx_L19_unpacking_failed; | |
+ __pyx_t_14 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_12); | |
+ index = 0; __pyx_t_4 = __pyx_t_14(__pyx_t_12); if (unlikely(!__pyx_t_4)) goto __pyx_L19_unpacking_failed; | |
__Pyx_GOTREF(__pyx_t_4); | |
- index = 1; __pyx_t_12 = __pyx_t_13(__pyx_t_11); if (unlikely(!__pyx_t_12)) goto __pyx_L19_unpacking_failed; | |
- __Pyx_GOTREF(__pyx_t_12); | |
- index = 2; __pyx_t_8 = __pyx_t_13(__pyx_t_11); if (unlikely(!__pyx_t_8)) goto __pyx_L19_unpacking_failed; | |
- __Pyx_GOTREF(__pyx_t_8); | |
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_13(__pyx_t_11), 3) < 0) __PYX_ERR(0, 468, __pyx_L1_error) | |
- __pyx_t_13 = NULL; | |
- __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; | |
+ index = 1; __pyx_t_13 = __pyx_t_14(__pyx_t_12); if (unlikely(!__pyx_t_13)) goto __pyx_L19_unpacking_failed; | |
+ __Pyx_GOTREF(__pyx_t_13); | |
+ index = 2; __pyx_t_9 = __pyx_t_14(__pyx_t_12); if (unlikely(!__pyx_t_9)) goto __pyx_L19_unpacking_failed; | |
+ __Pyx_GOTREF(__pyx_t_9); | |
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_14(__pyx_t_12), 3) < 0) __PYX_ERR(0, 475, __pyx_L1_error) | |
+ __pyx_t_14 = NULL; | |
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; | |
goto __pyx_L20_unpacking_done; | |
__pyx_L19_unpacking_failed:; | |
- __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; | |
- __pyx_t_13 = NULL; | |
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; | |
+ __pyx_t_14 = NULL; | |
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); | |
- __PYX_ERR(0, 468, __pyx_L1_error) | |
+ __PYX_ERR(0, 475, __pyx_L1_error) | |
__pyx_L20_unpacking_done:; | |
} | |
__Pyx_XDECREF_SET(__pyx_v___, __pyx_t_4); | |
__pyx_t_4 = 0; | |
- __Pyx_XDECREF_SET(__pyx_v_converter_name, __pyx_t_12); | |
- __pyx_t_12 = 0; | |
- __Pyx_XDECREF_SET(__pyx_v_converter_argstr, __pyx_t_8); | |
- __pyx_t_8 = 0; | |
+ __Pyx_XDECREF_SET(__pyx_v_converter_name, __pyx_t_13); | |
+ __pyx_t_13 = 0; | |
+ __Pyx_XDECREF_SET(__pyx_v_converter_argstr, __pyx_t_9); | |
+ __pyx_t_9 = 0; | |
- /* "falcon/routing/compiled.py":469 | |
+ /* "falcon/routing/compiled.py":476 | |
* field_name = node.var_name | |
* __, converter_name, converter_argstr = node.var_converter_map[0] | |
* converter_class = self._converter_map[converter_name] # <<<<<<<<<<<<<< | |
* | |
* converter_obj = self._instantiate_converter( | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_converter_map); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 469, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_converter_map); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 476, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_converter_name); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 469, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_8); | |
+ __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_converter_name); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 476, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_9); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- __Pyx_XDECREF_SET(__pyx_v_converter_class, __pyx_t_8); | |
- __pyx_t_8 = 0; | |
+ __Pyx_XDECREF_SET(__pyx_v_converter_class, __pyx_t_9); | |
+ __pyx_t_9 = 0; | |
- /* "falcon/routing/compiled.py":471 | |
+ /* "falcon/routing/compiled.py":478 | |
* converter_class = self._converter_map[converter_name] | |
* | |
* converter_obj = self._instantiate_converter( # <<<<<<<<<<<<<< | |
* converter_class, converter_argstr | |
* ) | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_instantiate_converter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 471, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_instantiate_converter); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 478, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- /* "falcon/routing/compiled.py":472 | |
+ /* "falcon/routing/compiled.py":479 | |
* | |
* converter_obj = self._instantiate_converter( | |
* converter_class, converter_argstr # <<<<<<<<<<<<<< | |
* ) | |
* converter_idx = len(self._converters) | |
*/ | |
- __pyx_t_12 = NULL; | |
+ __pyx_t_13 = NULL; | |
__pyx_t_6 = 0; | |
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { | |
- __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_3); | |
- if (likely(__pyx_t_12)) { | |
+ __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3); | |
+ if (likely(__pyx_t_13)) { | |
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); | |
- __Pyx_INCREF(__pyx_t_12); | |
+ __Pyx_INCREF(__pyx_t_13); | |
__Pyx_INCREF(function); | |
__Pyx_DECREF_SET(__pyx_t_3, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[3] = {__pyx_t_12, __pyx_v_converter_class, __pyx_v_converter_argstr}; | |
- __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 2+__pyx_t_6); | |
- __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; | |
- if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 471, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_8); | |
+ PyObject *__pyx_callargs[3] = {__pyx_t_13, __pyx_v_converter_class, __pyx_v_converter_argstr}; | |
+ __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 2+__pyx_t_6); | |
+ __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; | |
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 478, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_9); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
- __Pyx_XDECREF_SET(__pyx_v_converter_obj, __pyx_t_8); | |
- __pyx_t_8 = 0; | |
+ __Pyx_XDECREF_SET(__pyx_v_converter_obj, __pyx_t_9); | |
+ __pyx_t_9 = 0; | |
- /* "falcon/routing/compiled.py":474 | |
+ /* "falcon/routing/compiled.py":481 | |
* converter_class, converter_argstr | |
* ) | |
* converter_idx = len(self._converters) # <<<<<<<<<<<<<< | |
* self._converters.append(converter_obj) | |
* | |
*/ | |
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_converters); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 474, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_8); | |
- __pyx_t_9 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 474, __pyx_L1_error) | |
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
- __pyx_v_converter_idx = __pyx_t_9; | |
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_converters); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 481, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_9); | |
+ __pyx_t_10 = PyObject_Length(__pyx_t_9); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 481, __pyx_L1_error) | |
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
+ __pyx_v_converter_idx = __pyx_t_10; | |
- /* "falcon/routing/compiled.py":475 | |
+ /* "falcon/routing/compiled.py":482 | |
* ) | |
* converter_idx = len(self._converters) | |
* self._converters.append(converter_obj) # <<<<<<<<<<<<<< | |
* | |
- * construct = _CxIfConverterField( | |
+ * cx_converter = _CxIfConverterField( | |
*/ | |
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_converters); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 475, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_8); | |
- __pyx_t_10 = __Pyx_PyObject_Append(__pyx_t_8, __pyx_v_converter_obj); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(0, 475, __pyx_L1_error) | |
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_converters); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 482, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_9); | |
+ __pyx_t_11 = __Pyx_PyObject_Append(__pyx_t_9, __pyx_v_converter_obj); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 482, __pyx_L1_error) | |
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
- /* "falcon/routing/compiled.py":477 | |
+ /* "falcon/routing/compiled.py":484 | |
* self._converters.append(converter_obj) | |
* | |
- * construct = _CxIfConverterField( # <<<<<<<<<<<<<< | |
+ * cx_converter = _CxIfConverterField( # <<<<<<<<<<<<<< | |
* len(params_stack) + 1, converter_idx | |
* ) | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CxIfConverterField); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 477, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CxIfConverterField); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 484, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- /* "falcon/routing/compiled.py":478 | |
+ /* "falcon/routing/compiled.py":485 | |
* | |
- * construct = _CxIfConverterField( | |
+ * cx_converter = _CxIfConverterField( | |
* len(params_stack) + 1, converter_idx # <<<<<<<<<<<<<< | |
* ) | |
- * setter = _CxSetParamFromValue( | |
+ * params_stack.append( | |
*/ | |
- if (unlikely(__pyx_v_params_stack == Py_None)) { | |
- PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); | |
- __PYX_ERR(0, 478, __pyx_L1_error) | |
- } | |
- __pyx_t_9 = PyList_GET_SIZE(__pyx_v_params_stack); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 478, __pyx_L1_error) | |
- __pyx_t_12 = PyInt_FromSsize_t((__pyx_t_9 + 1)); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 478, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_12); | |
- __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_converter_idx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 478, __pyx_L1_error) | |
+ __pyx_t_10 = PyObject_Length(__pyx_v_params_stack); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 485, __pyx_L1_error) | |
+ __pyx_t_13 = PyInt_FromSsize_t((__pyx_t_10 + 1)); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 485, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_13); | |
+ __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_converter_idx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 485, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
- __pyx_t_11 = NULL; | |
+ __pyx_t_12 = NULL; | |
__pyx_t_6 = 0; | |
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { | |
- __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_3); | |
- if (likely(__pyx_t_11)) { | |
+ __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_3); | |
+ if (likely(__pyx_t_12)) { | |
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); | |
- __Pyx_INCREF(__pyx_t_11); | |
+ __Pyx_INCREF(__pyx_t_12); | |
__Pyx_INCREF(function); | |
__Pyx_DECREF_SET(__pyx_t_3, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[3] = {__pyx_t_11, __pyx_t_12, __pyx_t_4}; | |
- __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 2+__pyx_t_6); | |
- __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; | |
- __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; | |
+ PyObject *__pyx_callargs[3] = {__pyx_t_12, __pyx_t_13, __pyx_t_4}; | |
+ __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 2+__pyx_t_6); | |
+ __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; | |
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
- if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 477, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_8); | |
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 484, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_9); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
- __Pyx_DECREF_SET(__pyx_v_construct, __pyx_t_8); | |
- __pyx_t_8 = 0; | |
+ __Pyx_XDECREF_SET(__pyx_v_cx_converter, __pyx_t_9); | |
+ __pyx_t_9 = 0; | |
- /* "falcon/routing/compiled.py":480 | |
- * len(params_stack) + 1, converter_idx | |
- * ) | |
- * setter = _CxSetParamFromValue( # <<<<<<<<<<<<<< | |
- * field_name, construct.field_variable_name | |
+ /* "falcon/routing/compiled.py":488 | |
* ) | |
+ * params_stack.append( | |
+ * _CxSetParamFromValue( # <<<<<<<<<<<<<< | |
+ * field_name, cx_converter.field_variable_name | |
+ * ) | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CxSetParamFromValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 480, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CxSetParamFromValue); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 488, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- /* "falcon/routing/compiled.py":481 | |
+ /* "falcon/routing/compiled.py":489 | |
+ * params_stack.append( | |
+ * _CxSetParamFromValue( | |
+ * field_name, cx_converter.field_variable_name # <<<<<<<<<<<<<< | |
+ * ) | |
* ) | |
- * setter = _CxSetParamFromValue( | |
- * field_name, construct.field_variable_name # <<<<<<<<<<<<<< | |
- * ) | |
- * params_stack.append(setter) | |
*/ | |
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_construct, __pyx_n_s_field_variable_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 481, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cx_converter, __pyx_n_s_field_variable_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 489, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
- __pyx_t_12 = NULL; | |
+ __pyx_t_13 = NULL; | |
__pyx_t_6 = 0; | |
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { | |
- __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_3); | |
- if (likely(__pyx_t_12)) { | |
+ __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3); | |
+ if (likely(__pyx_t_13)) { | |
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); | |
- __Pyx_INCREF(__pyx_t_12); | |
+ __Pyx_INCREF(__pyx_t_13); | |
__Pyx_INCREF(function); | |
__Pyx_DECREF_SET(__pyx_t_3, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[3] = {__pyx_t_12, __pyx_v_field_name, __pyx_t_4}; | |
- __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 2+__pyx_t_6); | |
- __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; | |
+ PyObject *__pyx_callargs[3] = {__pyx_t_13, __pyx_v_field_name, __pyx_t_4}; | |
+ __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 2+__pyx_t_6); | |
+ __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
- if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 480, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_8); | |
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 488, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_9); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
- __Pyx_DECREF_SET(__pyx_v_setter, __pyx_t_8); | |
- __pyx_t_8 = 0; | |
- /* "falcon/routing/compiled.py":483 | |
- * field_name, construct.field_variable_name | |
+ /* "falcon/routing/compiled.py":487 | |
+ * len(params_stack) + 1, converter_idx | |
* ) | |
- * params_stack.append(setter) # <<<<<<<<<<<<<< | |
- * | |
- * parent.append_child(construct) | |
+ * params_stack.append( # <<<<<<<<<<<<<< | |
+ * _CxSetParamFromValue( | |
+ * field_name, cx_converter.field_variable_name | |
*/ | |
- if (unlikely(__pyx_v_params_stack == Py_None)) { | |
- PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append"); | |
- __PYX_ERR(0, 483, __pyx_L1_error) | |
- } | |
- __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_params_stack, __pyx_v_setter); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(0, 483, __pyx_L1_error) | |
+ __pyx_t_11 = __Pyx_PyObject_Append(__pyx_v_params_stack, __pyx_t_9); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 487, __pyx_L1_error) | |
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
- /* "falcon/routing/compiled.py":485 | |
- * params_stack.append(setter) | |
+ /* "falcon/routing/compiled.py":493 | |
+ * ) | |
* | |
- * parent.append_child(construct) # <<<<<<<<<<<<<< | |
- * parent = construct | |
+ * parent.append_child(cx_converter) # <<<<<<<<<<<<<< | |
+ * parent = cx_converter | |
* else: | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_append_child); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 485, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_append_child); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 493, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__pyx_t_4 = NULL; | |
__pyx_t_6 = 0; | |
@@ -10529,26 +10851,26 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_construct}; | |
- __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
+ PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_cx_converter}; | |
+ __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; | |
- if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 485, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_8); | |
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 493, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_9); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
- /* "falcon/routing/compiled.py":486 | |
+ /* "falcon/routing/compiled.py":494 | |
* | |
- * parent.append_child(construct) | |
- * parent = construct # <<<<<<<<<<<<<< | |
+ * parent.append_child(cx_converter) | |
+ * parent = cx_converter # <<<<<<<<<<<<<< | |
* else: | |
* params_stack.append(_CxSetParamFromPath(node.var_name, level)) | |
*/ | |
- __Pyx_INCREF(__pyx_v_construct); | |
- __Pyx_DECREF_SET(__pyx_v_parent, __pyx_v_construct); | |
+ __Pyx_INCREF(__pyx_v_cx_converter); | |
+ __Pyx_DECREF_SET(__pyx_v_parent, __pyx_v_cx_converter); | |
- /* "falcon/routing/compiled.py":462 | |
+ /* "falcon/routing/compiled.py":469 | |
* # segment as the value for the param. | |
* | |
* if node.var_converter_map: # <<<<<<<<<<<<<< | |
@@ -10558,49 +10880,45 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
goto __pyx_L18; | |
} | |
- /* "falcon/routing/compiled.py":488 | |
- * parent = construct | |
+ /* "falcon/routing/compiled.py":496 | |
+ * parent = cx_converter | |
* else: | |
* params_stack.append(_CxSetParamFromPath(node.var_name, level)) # <<<<<<<<<<<<<< | |
* | |
* # NOTE(kgriffs): We don't allow multiple simple var nodes | |
*/ | |
/*else*/ { | |
- if (unlikely(__pyx_v_params_stack == Py_None)) { | |
- PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append"); | |
- __PYX_ERR(0, 488, __pyx_L1_error) | |
- } | |
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CxSetParamFromPath); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 488, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CxSetParamFromPath); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 496, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_var_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 488, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_var_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 496, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
- __pyx_t_12 = NULL; | |
+ __pyx_t_13 = NULL; | |
__pyx_t_6 = 0; | |
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { | |
- __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_3); | |
- if (likely(__pyx_t_12)) { | |
+ __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3); | |
+ if (likely(__pyx_t_13)) { | |
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); | |
- __Pyx_INCREF(__pyx_t_12); | |
+ __Pyx_INCREF(__pyx_t_13); | |
__Pyx_INCREF(function); | |
__Pyx_DECREF_SET(__pyx_t_3, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[3] = {__pyx_t_12, __pyx_t_4, __pyx_v_level}; | |
- __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 2+__pyx_t_6); | |
- __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; | |
+ PyObject *__pyx_callargs[3] = {__pyx_t_13, __pyx_t_4, __pyx_v_level}; | |
+ __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 2+__pyx_t_6); | |
+ __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
- if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 488, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_8); | |
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 496, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_9); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
- __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_params_stack, __pyx_t_8); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(0, 488, __pyx_L1_error) | |
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
+ __pyx_t_11 = __Pyx_PyObject_Append(__pyx_v_params_stack, __pyx_t_9); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 496, __pyx_L1_error) | |
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
} | |
__pyx_L18:; | |
- /* "falcon/routing/compiled.py":496 | |
+ /* "falcon/routing/compiled.py":504 | |
* # /foo/{name}/bar | |
* # | |
* _found_nodes = [ # <<<<<<<<<<<<<< | |
@@ -10608,67 +10926,93 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
* for _node in nodes | |
*/ | |
{ /* enter inner scope */ | |
- __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 496, __pyx_L23_error) | |
- __Pyx_GOTREF(__pyx_t_8); | |
+ __pyx_t_9 = PyList_New(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 504, __pyx_L23_error) | |
+ __Pyx_GOTREF(__pyx_t_9); | |
- /* "falcon/routing/compiled.py":498 | |
+ /* "falcon/routing/compiled.py":506 | |
* _found_nodes = [ | |
* _node | |
* for _node in nodes # <<<<<<<<<<<<<< | |
* if _node.is_var and not _node.is_complex | |
* ] | |
*/ | |
- if (unlikely(__pyx_v_nodes == Py_None)) { | |
- PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); | |
- __PYX_ERR(0, 498, __pyx_L23_error) | |
+ if (likely(PyList_CheckExact(__pyx_v_nodes)) || PyTuple_CheckExact(__pyx_v_nodes)) { | |
+ __pyx_t_3 = __pyx_v_nodes; __Pyx_INCREF(__pyx_t_3); __pyx_t_10 = 0; | |
+ __pyx_t_15 = NULL; | |
+ } else { | |
+ __pyx_t_10 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_nodes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 506, __pyx_L23_error) | |
+ __Pyx_GOTREF(__pyx_t_3); | |
+ __pyx_t_15 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 506, __pyx_L23_error) | |
} | |
- __pyx_t_3 = __pyx_v_nodes; __Pyx_INCREF(__pyx_t_3); __pyx_t_9 = 0; | |
for (;;) { | |
- if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_3)) break; | |
- #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
- __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely((0 < 0))) __PYX_ERR(0, 498, __pyx_L23_error) | |
- #else | |
- __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 498, __pyx_L23_error) | |
- __Pyx_GOTREF(__pyx_t_4); | |
- #endif | |
+ if (likely(!__pyx_t_15)) { | |
+ if (likely(PyList_CheckExact(__pyx_t_3))) { | |
+ if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_3)) break; | |
+ #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
+ __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_10); __Pyx_INCREF(__pyx_t_4); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(0, 506, __pyx_L23_error) | |
+ #else | |
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 506, __pyx_L23_error) | |
+ __Pyx_GOTREF(__pyx_t_4); | |
+ #endif | |
+ } else { | |
+ if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_3)) break; | |
+ #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
+ __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_10); __Pyx_INCREF(__pyx_t_4); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(0, 506, __pyx_L23_error) | |
+ #else | |
+ __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 506, __pyx_L23_error) | |
+ __Pyx_GOTREF(__pyx_t_4); | |
+ #endif | |
+ } | |
+ } else { | |
+ __pyx_t_4 = __pyx_t_15(__pyx_t_3); | |
+ if (unlikely(!__pyx_t_4)) { | |
+ PyObject* exc_type = PyErr_Occurred(); | |
+ if (exc_type) { | |
+ if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); | |
+ else __PYX_ERR(0, 506, __pyx_L23_error) | |
+ } | |
+ break; | |
+ } | |
+ __Pyx_GOTREF(__pyx_t_4); | |
+ } | |
__Pyx_XDECREF_SET(__pyx_8genexpr1__pyx_v__node, __pyx_t_4); | |
__pyx_t_4 = 0; | |
- /* "falcon/routing/compiled.py":499 | |
+ /* "falcon/routing/compiled.py":507 | |
* _node | |
* for _node in nodes | |
* if _node.is_var and not _node.is_complex # <<<<<<<<<<<<<< | |
* ] | |
* assert len(_found_nodes) == 1 | |
*/ | |
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_8genexpr1__pyx_v__node, __pyx_n_s_is_var); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 499, __pyx_L23_error) | |
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_8genexpr1__pyx_v__node, __pyx_n_s_is_var); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 507, __pyx_L23_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 499, __pyx_L23_error) | |
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 507, __pyx_L23_error) | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
if (__pyx_t_1) { | |
} else { | |
__pyx_t_2 = __pyx_t_1; | |
goto __pyx_L27_bool_binop_done; | |
} | |
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_8genexpr1__pyx_v__node, __pyx_n_s_is_complex); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 499, __pyx_L23_error) | |
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_8genexpr1__pyx_v__node, __pyx_n_s_is_complex); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 507, __pyx_L23_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
- __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 499, __pyx_L23_error) | |
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 507, __pyx_L23_error) | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
- __pyx_t_14 = ((!__pyx_t_1) != 0); | |
- __pyx_t_2 = __pyx_t_14; | |
+ __pyx_t_16 = ((!__pyx_t_1) != 0); | |
+ __pyx_t_2 = __pyx_t_16; | |
__pyx_L27_bool_binop_done:; | |
if (__pyx_t_2) { | |
- /* "falcon/routing/compiled.py":497 | |
+ /* "falcon/routing/compiled.py":505 | |
* # | |
* _found_nodes = [ | |
* _node # <<<<<<<<<<<<<< | |
* for _node in nodes | |
* if _node.is_var and not _node.is_complex | |
*/ | |
- if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_8genexpr1__pyx_v__node))) __PYX_ERR(0, 496, __pyx_L23_error) | |
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_9, (PyObject*)__pyx_8genexpr1__pyx_v__node))) __PYX_ERR(0, 504, __pyx_L23_error) | |
- /* "falcon/routing/compiled.py":499 | |
+ /* "falcon/routing/compiled.py":507 | |
* _node | |
* for _node in nodes | |
* if _node.is_var and not _node.is_complex # <<<<<<<<<<<<<< | |
@@ -10677,7 +11021,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
*/ | |
} | |
- /* "falcon/routing/compiled.py":498 | |
+ /* "falcon/routing/compiled.py":506 | |
* _found_nodes = [ | |
* _node | |
* for _node in nodes # <<<<<<<<<<<<<< | |
@@ -10693,10 +11037,10 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
goto __pyx_L1_error; | |
__pyx_L29_exit_scope:; | |
} /* exit inner scope */ | |
- __Pyx_XDECREF_SET(__pyx_v__found_nodes, ((PyObject*)__pyx_t_8)); | |
- __pyx_t_8 = 0; | |
+ __Pyx_XDECREF_SET(__pyx_v__found_nodes, ((PyObject*)__pyx_t_9)); | |
+ __pyx_t_9 = 0; | |
- /* "falcon/routing/compiled.py":501 | |
+ /* "falcon/routing/compiled.py":509 | |
* if _node.is_var and not _node.is_complex | |
* ] | |
* assert len(_found_nodes) == 1 # <<<<<<<<<<<<<< | |
@@ -10705,18 +11049,18 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
*/ | |
#ifndef CYTHON_WITHOUT_ASSERTIONS | |
if (unlikely(!Py_OptimizeFlag)) { | |
- __pyx_t_9 = PyList_GET_SIZE(__pyx_v__found_nodes); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 501, __pyx_L1_error) | |
- __pyx_t_2 = ((__pyx_t_9 == 1) != 0); | |
+ __pyx_t_10 = PyList_GET_SIZE(__pyx_v__found_nodes); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 509, __pyx_L1_error) | |
+ __pyx_t_2 = ((__pyx_t_10 == 1) != 0); | |
if (unlikely(!__pyx_t_2)) { | |
__Pyx_Raise(__pyx_builtin_AssertionError, 0, 0, 0); | |
- __PYX_ERR(0, 501, __pyx_L1_error) | |
+ __PYX_ERR(0, 509, __pyx_L1_error) | |
} | |
} | |
#else | |
- if ((1)); else __PYX_ERR(0, 501, __pyx_L1_error) | |
+ if ((1)); else __PYX_ERR(0, 509, __pyx_L1_error) | |
#endif | |
- /* "falcon/routing/compiled.py":502 | |
+ /* "falcon/routing/compiled.py":510 | |
* ] | |
* assert len(_found_nodes) == 1 | |
* found_simple = True # <<<<<<<<<<<<<< | |
@@ -10727,7 +11071,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
} | |
__pyx_L16:; | |
- /* "falcon/routing/compiled.py":431 | |
+ /* "falcon/routing/compiled.py":436 | |
* for node in nodes: | |
* params_stack = original_params_stack.copy() | |
* if node.is_var: # <<<<<<<<<<<<<< | |
@@ -10737,50 +11081,50 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
goto __pyx_L15; | |
} | |
- /* "falcon/routing/compiled.py":506 | |
+ /* "falcon/routing/compiled.py":514 | |
* else: | |
* # NOTE(kgriffs): Not a param, so must match exactly | |
- * construct = _CxIfPathSegmentLiteral(level, node.raw_segment) # <<<<<<<<<<<<<< | |
- * parent.append_child(construct) | |
- * parent = construct | |
+ * cx_literal = _CxIfPathSegmentLiteral(level, node.raw_segment) # <<<<<<<<<<<<<< | |
+ * parent.append_child(cx_literal) | |
+ * parent = cx_literal | |
*/ | |
/*else*/ { | |
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CxIfPathSegmentLiteral); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 506, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CxIfPathSegmentLiteral); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 514, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_raw_segment); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 506, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_raw_segment); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 514, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
- __pyx_t_12 = NULL; | |
+ __pyx_t_13 = NULL; | |
__pyx_t_6 = 0; | |
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { | |
- __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_3); | |
- if (likely(__pyx_t_12)) { | |
+ __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3); | |
+ if (likely(__pyx_t_13)) { | |
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); | |
- __Pyx_INCREF(__pyx_t_12); | |
+ __Pyx_INCREF(__pyx_t_13); | |
__Pyx_INCREF(function); | |
__Pyx_DECREF_SET(__pyx_t_3, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[3] = {__pyx_t_12, __pyx_v_level, __pyx_t_4}; | |
- __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 2+__pyx_t_6); | |
- __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; | |
+ PyObject *__pyx_callargs[3] = {__pyx_t_13, __pyx_v_level, __pyx_t_4}; | |
+ __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 2+__pyx_t_6); | |
+ __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
- if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 506, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_8); | |
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 514, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_9); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
- __Pyx_DECREF_SET(__pyx_v_construct, __pyx_t_8); | |
- __pyx_t_8 = 0; | |
+ __Pyx_XDECREF_SET(__pyx_v_cx_literal, __pyx_t_9); | |
+ __pyx_t_9 = 0; | |
- /* "falcon/routing/compiled.py":507 | |
+ /* "falcon/routing/compiled.py":515 | |
* # NOTE(kgriffs): Not a param, so must match exactly | |
- * construct = _CxIfPathSegmentLiteral(level, node.raw_segment) | |
- * parent.append_child(construct) # <<<<<<<<<<<<<< | |
- * parent = construct | |
+ * cx_literal = _CxIfPathSegmentLiteral(level, node.raw_segment) | |
+ * parent.append_child(cx_literal) # <<<<<<<<<<<<<< | |
+ * parent = cx_literal | |
* | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_append_child); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 507, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_append_child); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 515, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__pyx_t_4 = NULL; | |
__pyx_t_6 = 0; | |
@@ -10795,70 +11139,62 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_construct}; | |
- __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
+ PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_cx_literal}; | |
+ __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; | |
- if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 507, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_8); | |
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 515, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_9); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
- /* "falcon/routing/compiled.py":508 | |
- * construct = _CxIfPathSegmentLiteral(level, node.raw_segment) | |
- * parent.append_child(construct) | |
- * parent = construct # <<<<<<<<<<<<<< | |
+ /* "falcon/routing/compiled.py":516 | |
+ * cx_literal = _CxIfPathSegmentLiteral(level, node.raw_segment) | |
+ * parent.append_child(cx_literal) | |
+ * parent = cx_literal # <<<<<<<<<<<<<< | |
* | |
* if node.resource is not None: | |
*/ | |
- __Pyx_INCREF(__pyx_v_construct); | |
- __Pyx_DECREF_SET(__pyx_v_parent, __pyx_v_construct); | |
+ __Pyx_INCREF(__pyx_v_cx_literal); | |
+ __Pyx_DECREF_SET(__pyx_v_parent, __pyx_v_cx_literal); | |
} | |
__pyx_L15:; | |
- /* "falcon/routing/compiled.py":510 | |
- * parent = construct | |
+ /* "falcon/routing/compiled.py":518 | |
+ * parent = cx_literal | |
* | |
* if node.resource is not None: # <<<<<<<<<<<<<< | |
* # NOTE(kgriffs): This is a valid route, so we will want to | |
* # return the relevant information. | |
*/ | |
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_resource); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 510, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_8); | |
- __pyx_t_2 = (__pyx_t_8 != Py_None); | |
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
- __pyx_t_14 = (__pyx_t_2 != 0); | |
- if (__pyx_t_14) { | |
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_resource); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 518, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_9); | |
+ __pyx_t_2 = (__pyx_t_9 != Py_None); | |
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
+ __pyx_t_16 = (__pyx_t_2 != 0); | |
+ if (__pyx_t_16) { | |
- /* "falcon/routing/compiled.py":513 | |
+ /* "falcon/routing/compiled.py":521 | |
* # NOTE(kgriffs): This is a valid route, so we will want to | |
* # return the relevant information. | |
* resource_idx = len(return_values) # <<<<<<<<<<<<<< | |
* return_values.append(node) | |
* | |
*/ | |
- if (unlikely(__pyx_v_return_values == Py_None)) { | |
- PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); | |
- __PYX_ERR(0, 513, __pyx_L1_error) | |
- } | |
- __pyx_t_9 = PyList_GET_SIZE(__pyx_v_return_values); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 513, __pyx_L1_error) | |
- __pyx_v_resource_idx = __pyx_t_9; | |
+ __pyx_t_10 = PyObject_Length(__pyx_v_return_values); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 521, __pyx_L1_error) | |
+ __pyx_v_resource_idx = __pyx_t_10; | |
- /* "falcon/routing/compiled.py":514 | |
+ /* "falcon/routing/compiled.py":522 | |
* # return the relevant information. | |
* resource_idx = len(return_values) | |
* return_values.append(node) # <<<<<<<<<<<<<< | |
* | |
* self._generate_ast( | |
*/ | |
- if (unlikely(__pyx_v_return_values == Py_None)) { | |
- PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append"); | |
- __PYX_ERR(0, 514, __pyx_L1_error) | |
- } | |
- __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_return_values, __pyx_v_node); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(0, 514, __pyx_L1_error) | |
+ __pyx_t_11 = __Pyx_PyObject_Append(__pyx_v_return_values, __pyx_v_node); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 522, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":510 | |
- * parent = construct | |
+ /* "falcon/routing/compiled.py":518 | |
+ * parent = cx_literal | |
* | |
* if node.resource is not None: # <<<<<<<<<<<<<< | |
* # NOTE(kgriffs): This is a valid route, so we will want to | |
@@ -10866,157 +11202,177 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
*/ | |
} | |
- /* "falcon/routing/compiled.py":516 | |
+ /* "falcon/routing/compiled.py":524 | |
* return_values.append(node) | |
* | |
* self._generate_ast( # <<<<<<<<<<<<<< | |
* node.children, | |
* parent, | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_generate_ast); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 516, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_generate_ast); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 524, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- /* "falcon/routing/compiled.py":517 | |
+ /* "falcon/routing/compiled.py":525 | |
* | |
* self._generate_ast( | |
* node.children, # <<<<<<<<<<<<<< | |
* parent, | |
* return_values, | |
*/ | |
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_children); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 517, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_children); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 525, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
- /* "falcon/routing/compiled.py":521 | |
+ /* "falcon/routing/compiled.py":529 | |
* return_values, | |
* patterns, | |
* params_stack.copy(), # <<<<<<<<<<<<<< | |
* level + 1, | |
* fast_return, | |
*/ | |
- __pyx_t_12 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyList_Type_copy, __pyx_v_params_stack); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 521, __pyx_L1_error) | |
+ __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_params_stack, __pyx_n_s_copy); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 529, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_12); | |
+ __pyx_t_17 = NULL; | |
+ __pyx_t_6 = 0; | |
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) { | |
+ __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_12); | |
+ if (likely(__pyx_t_17)) { | |
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); | |
+ __Pyx_INCREF(__pyx_t_17); | |
+ __Pyx_INCREF(function); | |
+ __Pyx_DECREF_SET(__pyx_t_12, function); | |
+ __pyx_t_6 = 1; | |
+ } | |
+ } | |
+ { | |
+ PyObject *__pyx_callargs[1] = {__pyx_t_17, }; | |
+ __pyx_t_13 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6); | |
+ __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; | |
+ if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 529, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_13); | |
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; | |
+ } | |
- /* "falcon/routing/compiled.py":522 | |
+ /* "falcon/routing/compiled.py":530 | |
* patterns, | |
* params_stack.copy(), | |
* level + 1, # <<<<<<<<<<<<<< | |
* fast_return, | |
* ) | |
*/ | |
- __pyx_t_11 = __Pyx_PyInt_AddObjC(__pyx_v_level, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 522, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_11); | |
+ __pyx_t_12 = __Pyx_PyInt_AddObjC(__pyx_v_level, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 530, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_12); | |
- /* "falcon/routing/compiled.py":523 | |
+ /* "falcon/routing/compiled.py":531 | |
* params_stack.copy(), | |
* level + 1, | |
* fast_return, # <<<<<<<<<<<<<< | |
* ) | |
* | |
*/ | |
- __pyx_t_15 = NULL; | |
+ __pyx_t_17 = NULL; | |
__pyx_t_6 = 0; | |
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { | |
- __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_3); | |
- if (likely(__pyx_t_15)) { | |
+ __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_3); | |
+ if (likely(__pyx_t_17)) { | |
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); | |
- __Pyx_INCREF(__pyx_t_15); | |
+ __Pyx_INCREF(__pyx_t_17); | |
__Pyx_INCREF(function); | |
__Pyx_DECREF_SET(__pyx_t_3, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[8] = {__pyx_t_15, __pyx_t_4, __pyx_v_parent, __pyx_v_return_values, __pyx_v_patterns, __pyx_t_12, __pyx_t_11, __pyx_v_fast_return}; | |
- __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 7+__pyx_t_6); | |
- __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; | |
+ PyObject *__pyx_callargs[8] = {__pyx_t_17, __pyx_t_4, __pyx_v_parent, __pyx_v_return_values, __pyx_v_patterns, __pyx_t_13, __pyx_t_12, __pyx_v_fast_return}; | |
+ __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 7+__pyx_t_6); | |
+ __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; | |
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; | |
- __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; | |
- if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 516, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_8); | |
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 524, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_9); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
- /* "falcon/routing/compiled.py":526 | |
+ /* "falcon/routing/compiled.py":534 | |
* ) | |
* | |
* if node.resource is None: # <<<<<<<<<<<<<< | |
* if fast_return: | |
* parent.append_child(_CxReturnNone()) | |
*/ | |
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_resource); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 526, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_8); | |
- __pyx_t_14 = (__pyx_t_8 == Py_None); | |
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
- __pyx_t_2 = (__pyx_t_14 != 0); | |
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_resource); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 534, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_9); | |
+ __pyx_t_16 = (__pyx_t_9 == Py_None); | |
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
+ __pyx_t_2 = (__pyx_t_16 != 0); | |
if (__pyx_t_2) { | |
- /* "falcon/routing/compiled.py":527 | |
+ /* "falcon/routing/compiled.py":535 | |
* | |
* if node.resource is None: | |
* if fast_return: # <<<<<<<<<<<<<< | |
* parent.append_child(_CxReturnNone()) | |
* else: | |
*/ | |
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_fast_return); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 527, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_fast_return); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 535, __pyx_L1_error) | |
if (__pyx_t_2) { | |
- /* "falcon/routing/compiled.py":528 | |
+ /* "falcon/routing/compiled.py":536 | |
* if node.resource is None: | |
* if fast_return: | |
* parent.append_child(_CxReturnNone()) # <<<<<<<<<<<<<< | |
* else: | |
* # NOTE(kgriffs): Make sure that we have consumed all of | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_append_child); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 528, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_append_child); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 536, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_CxReturnNone); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 528, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_12); | |
+ __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_CxReturnNone); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 536, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_13); | |
__pyx_t_4 = NULL; | |
__pyx_t_6 = 0; | |
- if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { | |
- __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_12); | |
+ if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) { | |
+ __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_13); | |
if (likely(__pyx_t_4)) { | |
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); | |
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); | |
__Pyx_INCREF(__pyx_t_4); | |
__Pyx_INCREF(function); | |
- __Pyx_DECREF_SET(__pyx_t_12, function); | |
+ __Pyx_DECREF_SET(__pyx_t_13, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
PyObject *__pyx_callargs[1] = {__pyx_t_4, }; | |
- __pyx_t_11 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6); | |
+ __pyx_t_12 = __Pyx_PyObject_FastCall(__pyx_t_13, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6); | |
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; | |
- if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 528, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_11); | |
- __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; | |
+ if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 536, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_12); | |
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; | |
} | |
- __pyx_t_12 = NULL; | |
+ __pyx_t_13 = NULL; | |
__pyx_t_6 = 0; | |
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { | |
- __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_3); | |
- if (likely(__pyx_t_12)) { | |
+ __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3); | |
+ if (likely(__pyx_t_13)) { | |
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); | |
- __Pyx_INCREF(__pyx_t_12); | |
+ __Pyx_INCREF(__pyx_t_13); | |
__Pyx_INCREF(function); | |
__Pyx_DECREF_SET(__pyx_t_3, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_11}; | |
- __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
- __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; | |
- __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; | |
- if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 528, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_8); | |
+ PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_12}; | |
+ __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
+ __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; | |
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; | |
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 536, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_9); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
- /* "falcon/routing/compiled.py":527 | |
+ /* "falcon/routing/compiled.py":535 | |
* | |
* if node.resource is None: | |
* if fast_return: # <<<<<<<<<<<<<< | |
@@ -11025,7 +11381,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
*/ | |
} | |
- /* "falcon/routing/compiled.py":526 | |
+ /* "falcon/routing/compiled.py":534 | |
* ) | |
* | |
* if node.resource is None: # <<<<<<<<<<<<<< | |
@@ -11035,260 +11391,286 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
goto __pyx_L31; | |
} | |
- /* "falcon/routing/compiled.py":533 | |
+ /* "falcon/routing/compiled.py":541 | |
* # the segments for the requested route; otherwise we could | |
* # mistakenly match "/foo/23/bar" against "/foo/{id}". | |
- * construct = _CxIfPathLength('==', level + 1) # <<<<<<<<<<<<<< | |
+ * cx_path_len = _CxIfPathLength('==', level + 1) # <<<<<<<<<<<<<< | |
* for params in params_stack: | |
- * construct.append_child(params) | |
+ * cx_path_len.append_child(params) | |
*/ | |
/*else*/ { | |
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CxIfPathLength); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 533, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_CxIfPathLength); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 541, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_11 = __Pyx_PyInt_AddObjC(__pyx_v_level, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 533, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_11); | |
- __pyx_t_12 = NULL; | |
+ __pyx_t_12 = __Pyx_PyInt_AddObjC(__pyx_v_level, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 541, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_12); | |
+ __pyx_t_13 = NULL; | |
__pyx_t_6 = 0; | |
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { | |
- __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_3); | |
- if (likely(__pyx_t_12)) { | |
+ __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3); | |
+ if (likely(__pyx_t_13)) { | |
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); | |
- __Pyx_INCREF(__pyx_t_12); | |
+ __Pyx_INCREF(__pyx_t_13); | |
__Pyx_INCREF(function); | |
__Pyx_DECREF_SET(__pyx_t_3, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[3] = {__pyx_t_12, __pyx_kp_u__11, __pyx_t_11}; | |
- __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 2+__pyx_t_6); | |
- __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; | |
- __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; | |
- if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 533, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_8); | |
+ PyObject *__pyx_callargs[3] = {__pyx_t_13, __pyx_kp_u__12, __pyx_t_12}; | |
+ __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 2+__pyx_t_6); | |
+ __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; | |
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; | |
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 541, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_9); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
- __Pyx_DECREF_SET(__pyx_v_construct, __pyx_t_8); | |
- __pyx_t_8 = 0; | |
+ __Pyx_XDECREF_SET(__pyx_v_cx_path_len, __pyx_t_9); | |
+ __pyx_t_9 = 0; | |
- /* "falcon/routing/compiled.py":534 | |
+ /* "falcon/routing/compiled.py":542 | |
* # mistakenly match "/foo/23/bar" against "/foo/{id}". | |
- * construct = _CxIfPathLength('==', level + 1) | |
+ * cx_path_len = _CxIfPathLength('==', level + 1) | |
* for params in params_stack: # <<<<<<<<<<<<<< | |
- * construct.append_child(params) | |
- * construct.append_child(_CxReturnValue(resource_idx)) | |
+ * cx_path_len.append_child(params) | |
+ * cx_path_len.append_child(_CxReturnValue(resource_idx)) | |
*/ | |
- if (unlikely(__pyx_v_params_stack == Py_None)) { | |
- PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); | |
- __PYX_ERR(0, 534, __pyx_L1_error) | |
+ if (likely(PyList_CheckExact(__pyx_v_params_stack)) || PyTuple_CheckExact(__pyx_v_params_stack)) { | |
+ __pyx_t_9 = __pyx_v_params_stack; __Pyx_INCREF(__pyx_t_9); __pyx_t_10 = 0; | |
+ __pyx_t_15 = NULL; | |
+ } else { | |
+ __pyx_t_10 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_v_params_stack); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 542, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_9); | |
+ __pyx_t_15 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_9); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 542, __pyx_L1_error) | |
} | |
- __pyx_t_8 = __pyx_v_params_stack; __Pyx_INCREF(__pyx_t_8); __pyx_t_9 = 0; | |
for (;;) { | |
- if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_8)) break; | |
- #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
- __pyx_t_3 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_9); __Pyx_INCREF(__pyx_t_3); __pyx_t_9++; if (unlikely((0 < 0))) __PYX_ERR(0, 534, __pyx_L1_error) | |
- #else | |
- __pyx_t_3 = PySequence_ITEM(__pyx_t_8, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 534, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_3); | |
- #endif | |
+ if (likely(!__pyx_t_15)) { | |
+ if (likely(PyList_CheckExact(__pyx_t_9))) { | |
+ if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_9)) break; | |
+ #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
+ __pyx_t_3 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(0, 542, __pyx_L1_error) | |
+ #else | |
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_9, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 542, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_3); | |
+ #endif | |
+ } else { | |
+ if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_9)) break; | |
+ #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
+ __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(0, 542, __pyx_L1_error) | |
+ #else | |
+ __pyx_t_3 = PySequence_ITEM(__pyx_t_9, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 542, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_3); | |
+ #endif | |
+ } | |
+ } else { | |
+ __pyx_t_3 = __pyx_t_15(__pyx_t_9); | |
+ if (unlikely(!__pyx_t_3)) { | |
+ PyObject* exc_type = PyErr_Occurred(); | |
+ if (exc_type) { | |
+ if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); | |
+ else __PYX_ERR(0, 542, __pyx_L1_error) | |
+ } | |
+ break; | |
+ } | |
+ __Pyx_GOTREF(__pyx_t_3); | |
+ } | |
__Pyx_XDECREF_SET(__pyx_v_params, __pyx_t_3); | |
__pyx_t_3 = 0; | |
- /* "falcon/routing/compiled.py":535 | |
- * construct = _CxIfPathLength('==', level + 1) | |
+ /* "falcon/routing/compiled.py":543 | |
+ * cx_path_len = _CxIfPathLength('==', level + 1) | |
* for params in params_stack: | |
- * construct.append_child(params) # <<<<<<<<<<<<<< | |
- * construct.append_child(_CxReturnValue(resource_idx)) | |
- * parent.append_child(construct) | |
+ * cx_path_len.append_child(params) # <<<<<<<<<<<<<< | |
+ * cx_path_len.append_child(_CxReturnValue(resource_idx)) | |
+ * parent.append_child(cx_path_len) | |
*/ | |
- __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_construct, __pyx_n_s_append_child); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 535, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_11); | |
- __pyx_t_12 = NULL; | |
+ __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_cx_path_len, __pyx_n_s_append_child); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 543, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_12); | |
+ __pyx_t_13 = NULL; | |
__pyx_t_6 = 0; | |
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) { | |
- __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_11); | |
- if (likely(__pyx_t_12)) { | |
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); | |
- __Pyx_INCREF(__pyx_t_12); | |
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_12))) { | |
+ __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12); | |
+ if (likely(__pyx_t_13)) { | |
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); | |
+ __Pyx_INCREF(__pyx_t_13); | |
__Pyx_INCREF(function); | |
- __Pyx_DECREF_SET(__pyx_t_11, function); | |
+ __Pyx_DECREF_SET(__pyx_t_12, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_v_params}; | |
- __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
- __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; | |
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 535, __pyx_L1_error) | |
+ PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_v_params}; | |
+ __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
+ __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; | |
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 543, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; | |
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; | |
} | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- /* "falcon/routing/compiled.py":534 | |
+ /* "falcon/routing/compiled.py":542 | |
* # mistakenly match "/foo/23/bar" against "/foo/{id}". | |
- * construct = _CxIfPathLength('==', level + 1) | |
+ * cx_path_len = _CxIfPathLength('==', level + 1) | |
* for params in params_stack: # <<<<<<<<<<<<<< | |
- * construct.append_child(params) | |
- * construct.append_child(_CxReturnValue(resource_idx)) | |
+ * cx_path_len.append_child(params) | |
+ * cx_path_len.append_child(_CxReturnValue(resource_idx)) | |
*/ | |
} | |
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
- /* "falcon/routing/compiled.py":536 | |
+ /* "falcon/routing/compiled.py":544 | |
* for params in params_stack: | |
- * construct.append_child(params) | |
- * construct.append_child(_CxReturnValue(resource_idx)) # <<<<<<<<<<<<<< | |
- * parent.append_child(construct) | |
+ * cx_path_len.append_child(params) | |
+ * cx_path_len.append_child(_CxReturnValue(resource_idx)) # <<<<<<<<<<<<<< | |
+ * parent.append_child(cx_path_len) | |
* | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_construct, __pyx_n_s_append_child); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 536, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_cx_path_len, __pyx_n_s_append_child); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 544, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_CxReturnValue); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 536, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_12); | |
- __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_resource_idx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 536, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_CxReturnValue); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 544, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_13); | |
+ __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_resource_idx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 544, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
- __pyx_t_15 = NULL; | |
+ __pyx_t_17 = NULL; | |
__pyx_t_6 = 0; | |
- if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { | |
- __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_12); | |
- if (likely(__pyx_t_15)) { | |
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); | |
- __Pyx_INCREF(__pyx_t_15); | |
+ if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) { | |
+ __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_13); | |
+ if (likely(__pyx_t_17)) { | |
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); | |
+ __Pyx_INCREF(__pyx_t_17); | |
__Pyx_INCREF(function); | |
- __Pyx_DECREF_SET(__pyx_t_12, function); | |
+ __Pyx_DECREF_SET(__pyx_t_13, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[2] = {__pyx_t_15, __pyx_t_4}; | |
- __pyx_t_11 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
- __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; | |
+ PyObject *__pyx_callargs[2] = {__pyx_t_17, __pyx_t_4}; | |
+ __pyx_t_12 = __Pyx_PyObject_FastCall(__pyx_t_13, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
+ __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
- if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 536, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_11); | |
- __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; | |
+ if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 544, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_12); | |
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; | |
} | |
- __pyx_t_12 = NULL; | |
+ __pyx_t_13 = NULL; | |
__pyx_t_6 = 0; | |
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { | |
- __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_3); | |
- if (likely(__pyx_t_12)) { | |
+ __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3); | |
+ if (likely(__pyx_t_13)) { | |
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); | |
- __Pyx_INCREF(__pyx_t_12); | |
+ __Pyx_INCREF(__pyx_t_13); | |
__Pyx_INCREF(function); | |
__Pyx_DECREF_SET(__pyx_t_3, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_11}; | |
- __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
- __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; | |
- __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; | |
- if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 536, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_8); | |
+ PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_12}; | |
+ __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
+ __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; | |
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; | |
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 544, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_9); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
- /* "falcon/routing/compiled.py":537 | |
- * construct.append_child(params) | |
- * construct.append_child(_CxReturnValue(resource_idx)) | |
- * parent.append_child(construct) # <<<<<<<<<<<<<< | |
+ /* "falcon/routing/compiled.py":545 | |
+ * cx_path_len.append_child(params) | |
+ * cx_path_len.append_child(_CxReturnValue(resource_idx)) | |
+ * parent.append_child(cx_path_len) # <<<<<<<<<<<<<< | |
* | |
* if fast_return: | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_append_child); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 537, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_append_child); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 545, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_11 = NULL; | |
+ __pyx_t_12 = NULL; | |
__pyx_t_6 = 0; | |
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { | |
- __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_3); | |
- if (likely(__pyx_t_11)) { | |
+ __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_3); | |
+ if (likely(__pyx_t_12)) { | |
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); | |
- __Pyx_INCREF(__pyx_t_11); | |
+ __Pyx_INCREF(__pyx_t_12); | |
__Pyx_INCREF(function); | |
__Pyx_DECREF_SET(__pyx_t_3, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_v_construct}; | |
- __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
- __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; | |
- if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 537, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_8); | |
+ PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_v_cx_path_len}; | |
+ __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
+ __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; | |
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 545, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_9); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
- /* "falcon/routing/compiled.py":539 | |
- * parent.append_child(construct) | |
+ /* "falcon/routing/compiled.py":547 | |
+ * parent.append_child(cx_path_len) | |
* | |
* if fast_return: # <<<<<<<<<<<<<< | |
* parent.append_child(_CxReturnNone()) | |
* | |
*/ | |
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_fast_return); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 539, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_fast_return); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 547, __pyx_L1_error) | |
if (__pyx_t_2) { | |
- /* "falcon/routing/compiled.py":540 | |
+ /* "falcon/routing/compiled.py":548 | |
* | |
* if fast_return: | |
* parent.append_child(_CxReturnNone()) # <<<<<<<<<<<<<< | |
* | |
* parent = outer_parent | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_append_child); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 540, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_append_child); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 548, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_CxReturnNone); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 540, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_12); | |
+ __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_CxReturnNone); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 548, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_13); | |
__pyx_t_4 = NULL; | |
__pyx_t_6 = 0; | |
- if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { | |
- __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_12); | |
+ if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) { | |
+ __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_13); | |
if (likely(__pyx_t_4)) { | |
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); | |
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); | |
__Pyx_INCREF(__pyx_t_4); | |
__Pyx_INCREF(function); | |
- __Pyx_DECREF_SET(__pyx_t_12, function); | |
+ __Pyx_DECREF_SET(__pyx_t_13, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
PyObject *__pyx_callargs[1] = {__pyx_t_4, }; | |
- __pyx_t_11 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6); | |
+ __pyx_t_12 = __Pyx_PyObject_FastCall(__pyx_t_13, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6); | |
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; | |
- if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 540, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_11); | |
- __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; | |
+ if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 548, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_12); | |
+ __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; | |
} | |
- __pyx_t_12 = NULL; | |
+ __pyx_t_13 = NULL; | |
__pyx_t_6 = 0; | |
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { | |
- __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_3); | |
- if (likely(__pyx_t_12)) { | |
+ __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3); | |
+ if (likely(__pyx_t_13)) { | |
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); | |
- __Pyx_INCREF(__pyx_t_12); | |
+ __Pyx_INCREF(__pyx_t_13); | |
__Pyx_INCREF(function); | |
__Pyx_DECREF_SET(__pyx_t_3, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_11}; | |
- __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
- __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; | |
- __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; | |
- if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 540, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_8); | |
+ PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_12}; | |
+ __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
+ __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; | |
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; | |
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 548, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_9); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
- /* "falcon/routing/compiled.py":539 | |
- * parent.append_child(construct) | |
+ /* "falcon/routing/compiled.py":547 | |
+ * parent.append_child(cx_path_len) | |
* | |
* if fast_return: # <<<<<<<<<<<<<< | |
* parent.append_child(_CxReturnNone()) | |
@@ -11298,7 +11680,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
} | |
__pyx_L31:; | |
- /* "falcon/routing/compiled.py":542 | |
+ /* "falcon/routing/compiled.py":550 | |
* parent.append_child(_CxReturnNone()) | |
* | |
* parent = outer_parent # <<<<<<<<<<<<<< | |
@@ -11308,8 +11690,8 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
__Pyx_INCREF(__pyx_v_outer_parent); | |
__Pyx_DECREF_SET(__pyx_v_parent, __pyx_v_outer_parent); | |
- /* "falcon/routing/compiled.py":429 | |
- * setter = None # type: Any | |
+ /* "falcon/routing/compiled.py":434 | |
+ * | |
* original_params_stack = params_stack.copy() | |
* for node in nodes: # <<<<<<<<<<<<<< | |
* params_stack = original_params_stack.copy() | |
@@ -11318,79 +11700,79 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
} | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
- /* "falcon/routing/compiled.py":544 | |
+ /* "falcon/routing/compiled.py":552 | |
* parent = outer_parent | |
* | |
* if not found_simple and fast_return: # <<<<<<<<<<<<<< | |
* parent.append_child(_CxReturnNone()) | |
* | |
*/ | |
- __pyx_t_14 = ((!(__pyx_v_found_simple != 0)) != 0); | |
- if (__pyx_t_14) { | |
+ __pyx_t_16 = ((!(__pyx_v_found_simple != 0)) != 0); | |
+ if (__pyx_t_16) { | |
} else { | |
- __pyx_t_2 = __pyx_t_14; | |
+ __pyx_t_2 = __pyx_t_16; | |
goto __pyx_L37_bool_binop_done; | |
} | |
- __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_v_fast_return); if (unlikely((__pyx_t_14 < 0))) __PYX_ERR(0, 544, __pyx_L1_error) | |
- __pyx_t_2 = __pyx_t_14; | |
+ __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_v_fast_return); if (unlikely((__pyx_t_16 < 0))) __PYX_ERR(0, 552, __pyx_L1_error) | |
+ __pyx_t_2 = __pyx_t_16; | |
__pyx_L37_bool_binop_done:; | |
if (__pyx_t_2) { | |
- /* "falcon/routing/compiled.py":545 | |
+ /* "falcon/routing/compiled.py":553 | |
* | |
* if not found_simple and fast_return: | |
* parent.append_child(_CxReturnNone()) # <<<<<<<<<<<<<< | |
* | |
* def _generate_conversion_ast( | |
*/ | |
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_append_child); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 545, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_8); | |
- __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_CxReturnNone); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 545, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_t_11); | |
- __pyx_t_12 = NULL; | |
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_append_child); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 553, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_9); | |
+ __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_CxReturnNone); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 553, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_t_12); | |
+ __pyx_t_13 = NULL; | |
__pyx_t_6 = 0; | |
- if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) { | |
- __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_11); | |
- if (likely(__pyx_t_12)) { | |
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); | |
- __Pyx_INCREF(__pyx_t_12); | |
+ if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { | |
+ __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_12); | |
+ if (likely(__pyx_t_13)) { | |
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); | |
+ __Pyx_INCREF(__pyx_t_13); | |
__Pyx_INCREF(function); | |
- __Pyx_DECREF_SET(__pyx_t_11, function); | |
+ __Pyx_DECREF_SET(__pyx_t_12, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[1] = {__pyx_t_12, }; | |
- __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6); | |
- __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; | |
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 545, __pyx_L1_error) | |
+ PyObject *__pyx_callargs[1] = {__pyx_t_13, }; | |
+ __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6); | |
+ __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; | |
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 553, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; | |
+ __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; | |
} | |
- __pyx_t_11 = NULL; | |
+ __pyx_t_12 = NULL; | |
__pyx_t_6 = 0; | |
- if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { | |
- __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_8); | |
- if (likely(__pyx_t_11)) { | |
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); | |
- __Pyx_INCREF(__pyx_t_11); | |
+ if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { | |
+ __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_9); | |
+ if (likely(__pyx_t_12)) { | |
+ PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); | |
+ __Pyx_INCREF(__pyx_t_12); | |
__Pyx_INCREF(function); | |
- __Pyx_DECREF_SET(__pyx_t_8, function); | |
+ __Pyx_DECREF_SET(__pyx_t_9, function); | |
__pyx_t_6 = 1; | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_3}; | |
- __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
- __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; | |
+ PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_3}; | |
+ __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
+ __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 545, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 553, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
- __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
+ __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
} | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
- /* "falcon/routing/compiled.py":544 | |
+ /* "falcon/routing/compiled.py":552 | |
* parent = outer_parent | |
* | |
* if not found_simple and fast_return: # <<<<<<<<<<<<<< | |
@@ -11399,12 +11781,12 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
*/ | |
} | |
- /* "falcon/routing/compiled.py":381 | |
+ /* "falcon/routing/compiled.py":388 | |
* raise ValueError(msg) from e | |
* | |
* def _generate_ast( # <<<<<<<<<<<<<< | |
* self, | |
- * nodes: list, | |
+ * nodes: 'List[CompiledRouterNode]', | |
*/ | |
/* function exit code */ | |
@@ -11414,27 +11796,30 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
__Pyx_XDECREF(__pyx_t_3); | |
__Pyx_XDECREF(__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_5); | |
- __Pyx_XDECREF(__pyx_t_8); | |
- __Pyx_XDECREF(__pyx_t_11); | |
+ __Pyx_XDECREF(__pyx_t_9); | |
__Pyx_XDECREF(__pyx_t_12); | |
- __Pyx_XDECREF(__pyx_t_15); | |
+ __Pyx_XDECREF(__pyx_t_13); | |
+ __Pyx_XDECREF(__pyx_t_17); | |
__Pyx_AddTraceback("falcon.routing.compiled.CompiledRouter._generate_ast", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__pyx_r = NULL; | |
__pyx_L0:; | |
__Pyx_XDECREF(__pyx_v_outer_parent); | |
__Pyx_XDECREF(__pyx_v_var_nodes); | |
__Pyx_XDECREF(__pyx_v_found_var_nodes); | |
- __Pyx_XDECREF(__pyx_v_construct); | |
- __Pyx_XDECREF(__pyx_v_setter); | |
__Pyx_XDECREF(__pyx_v_original_params_stack); | |
__Pyx_XDECREF(__pyx_v_node); | |
+ __Pyx_XDECREF(__pyx_v_cx_segment); | |
+ __Pyx_XDECREF(__pyx_v_cx_pattern); | |
__Pyx_XDECREF(__pyx_v_field_name); | |
__Pyx_XDECREF(__pyx_v___); | |
__Pyx_XDECREF(__pyx_v_converter_name); | |
__Pyx_XDECREF(__pyx_v_converter_argstr); | |
__Pyx_XDECREF(__pyx_v_converter_class); | |
__Pyx_XDECREF(__pyx_v_converter_obj); | |
+ __Pyx_XDECREF(__pyx_v_cx_converter); | |
__Pyx_XDECREF(__pyx_v__found_nodes); | |
+ __Pyx_XDECREF(__pyx_v_cx_literal); | |
+ __Pyx_XDECREF(__pyx_v_cx_path_len); | |
__Pyx_XDECREF(__pyx_v_params); | |
__Pyx_XDECREF(__pyx_7genexpr__pyx_v_node); | |
__Pyx_XDECREF(__pyx_8genexpr1__pyx_v__node); | |
@@ -11447,12 +11832,12 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_18_generat | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":547 | |
+/* "falcon/routing/compiled.py":555 | |
* parent.append_child(_CxReturnNone()) | |
* | |
* def _generate_conversion_ast( # <<<<<<<<<<<<<< | |
- * self, parent, node: 'CompiledRouterNode', params_stack: list | |
- * ): | |
+ * self, | |
+ * parent: '_CxParent', | |
*/ | |
/* Python wrapper */ | |
@@ -11510,33 +11895,33 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 547, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 555, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_parent)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 547, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 555, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("_generate_conversion_ast", 1, 4, 4, 1); __PYX_ERR(0, 547, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_generate_conversion_ast", 1, 4, 4, 1); __PYX_ERR(0, 555, __pyx_L3_error) | |
} | |
CYTHON_FALLTHROUGH; | |
case 2: | |
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_node)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 547, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 555, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("_generate_conversion_ast", 1, 4, 4, 2); __PYX_ERR(0, 547, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_generate_conversion_ast", 1, 4, 4, 2); __PYX_ERR(0, 555, __pyx_L3_error) | |
} | |
CYTHON_FALLTHROUGH; | |
case 3: | |
if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_params_stack)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 547, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 555, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("_generate_conversion_ast", 1, 4, 4, 3); __PYX_ERR(0, 547, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_generate_conversion_ast", 1, 4, 4, 3); __PYX_ERR(0, 555, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_generate_conversion_ast") < 0)) __PYX_ERR(0, 547, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_generate_conversion_ast") < 0)) __PYX_ERR(0, 555, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 4)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -11549,37 +11934,32 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
__pyx_v_self = values[0]; | |
__pyx_v_parent = values[1]; | |
__pyx_v_node = values[2]; | |
- __pyx_v_params_stack = ((PyObject*)values[3]); | |
+ __pyx_v_params_stack = values[3]; | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("_generate_conversion_ast", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 547, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_generate_conversion_ast", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 555, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled.CompiledRouter._generate_conversion_ast", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
return NULL; | |
__pyx_L4_argument_unpacking_done:; | |
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_params_stack), (&PyList_Type), 1, "params_stack", 1))) __PYX_ERR(0, 548, __pyx_L1_error) | |
__pyx_r = __pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_20_generate_conversion_ast(__pyx_self, __pyx_v_self, __pyx_v_parent, __pyx_v_node, __pyx_v_params_stack); | |
/* function exit code */ | |
- goto __pyx_L0; | |
- __pyx_L1_error:; | |
- __pyx_r = NULL; | |
- __pyx_L0:; | |
__Pyx_RefNannyFinishContext(); | |
return __pyx_r; | |
} | |
static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_20_generate_conversion_ast(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_parent, PyObject *__pyx_v_node, PyObject *__pyx_v_params_stack) { | |
- PyObject *__pyx_v_construct = NULL; | |
- PyObject *__pyx_v_setter = NULL; | |
PyObject *__pyx_v_field_name = NULL; | |
PyObject *__pyx_v_converter_name = NULL; | |
PyObject *__pyx_v_converter_argstr = NULL; | |
PyObject *__pyx_v_converter_class = NULL; | |
PyObject *__pyx_v_converter_obj = NULL; | |
Py_ssize_t __pyx_v_converter_idx; | |
+ PyObject *__pyx_v_cx_converter = NULL; | |
+ PyObject *__pyx_v_cx_pattern_match = NULL; | |
PyObject *__pyx_r = NULL; | |
__Pyx_RefNannyDeclarations | |
PyObject *__pyx_t_1 = NULL; | |
@@ -11601,42 +11981,22 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_20_generat | |
__Pyx_RefNannySetupContext("_generate_conversion_ast", 0); | |
__Pyx_INCREF(__pyx_v_parent); | |
- /* "falcon/routing/compiled.py":550 | |
- * self, parent, node: 'CompiledRouterNode', params_stack: list | |
- * ): | |
- * construct = None # type: Any # <<<<<<<<<<<<<< | |
- * setter = None # type: Any | |
- * # NOTE(kgriffs): Unroll the converter loop into | |
- */ | |
- __Pyx_INCREF(Py_None); | |
- __pyx_v_construct = Py_None; | |
- | |
- /* "falcon/routing/compiled.py":551 | |
- * ): | |
- * construct = None # type: Any | |
- * setter = None # type: Any # <<<<<<<<<<<<<< | |
- * # NOTE(kgriffs): Unroll the converter loop into | |
- * # a series of nested "if" constructs. | |
- */ | |
- __Pyx_INCREF(Py_None); | |
- __pyx_v_setter = Py_None; | |
- | |
- /* "falcon/routing/compiled.py":554 | |
+ /* "falcon/routing/compiled.py":563 | |
* # NOTE(kgriffs): Unroll the converter loop into | |
* # a series of nested "if" constructs. | |
* for field_name, converter_name, converter_argstr in node.var_converter_map: # <<<<<<<<<<<<<< | |
* converter_class = self._converter_map[converter_name] | |
* | |
*/ | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_var_converter_map); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 554, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_var_converter_map); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 563, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { | |
__pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0; | |
__pyx_t_4 = NULL; | |
} else { | |
- __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 554, __pyx_L1_error) | |
+ __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 563, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- __pyx_t_4 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 554, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 563, __pyx_L1_error) | |
} | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
for (;;) { | |
@@ -11644,17 +12004,17 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_20_generat | |
if (likely(PyList_CheckExact(__pyx_t_2))) { | |
if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break; | |
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely((0 < 0))) __PYX_ERR(0, 554, __pyx_L1_error) | |
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely((0 < 0))) __PYX_ERR(0, 563, __pyx_L1_error) | |
#else | |
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 554, __pyx_L1_error) | |
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 563, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
#endif | |
} else { | |
if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break; | |
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
- __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely((0 < 0))) __PYX_ERR(0, 554, __pyx_L1_error) | |
+ __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely((0 < 0))) __PYX_ERR(0, 563, __pyx_L1_error) | |
#else | |
- __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 554, __pyx_L1_error) | |
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 563, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
#endif | |
} | |
@@ -11664,7 +12024,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_20_generat | |
PyObject* exc_type = PyErr_Occurred(); | |
if (exc_type) { | |
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); | |
- else __PYX_ERR(0, 554, __pyx_L1_error) | |
+ else __PYX_ERR(0, 563, __pyx_L1_error) | |
} | |
break; | |
} | |
@@ -11676,7 +12036,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_20_generat | |
if (unlikely(size != 3)) { | |
if (size > 3) __Pyx_RaiseTooManyValuesError(3); | |
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); | |
- __PYX_ERR(0, 554, __pyx_L1_error) | |
+ __PYX_ERR(0, 563, __pyx_L1_error) | |
} | |
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
if (likely(PyTuple_CheckExact(sequence))) { | |
@@ -11692,17 +12052,17 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_20_generat | |
__Pyx_INCREF(__pyx_t_6); | |
__Pyx_INCREF(__pyx_t_7); | |
#else | |
- __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 554, __pyx_L1_error) | |
+ __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 563, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
- __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 554, __pyx_L1_error) | |
+ __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 563, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_6); | |
- __pyx_t_7 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 554, __pyx_L1_error) | |
+ __pyx_t_7 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 563, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
#endif | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
} else { | |
Py_ssize_t index = -1; | |
- __pyx_t_8 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 554, __pyx_L1_error) | |
+ __pyx_t_8 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 563, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_8); | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
__pyx_t_9 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_8); | |
@@ -11712,7 +12072,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_20_generat | |
__Pyx_GOTREF(__pyx_t_6); | |
index = 2; __pyx_t_7 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_7)) goto __pyx_L5_unpacking_failed; | |
__Pyx_GOTREF(__pyx_t_7); | |
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 3) < 0) __PYX_ERR(0, 554, __pyx_L1_error) | |
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 3) < 0) __PYX_ERR(0, 563, __pyx_L1_error) | |
__pyx_t_9 = NULL; | |
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
goto __pyx_L6_unpacking_done; | |
@@ -11720,7 +12080,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_20_generat | |
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
__pyx_t_9 = NULL; | |
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); | |
- __PYX_ERR(0, 554, __pyx_L1_error) | |
+ __PYX_ERR(0, 563, __pyx_L1_error) | |
__pyx_L6_unpacking_done:; | |
} | |
__Pyx_XDECREF_SET(__pyx_v_field_name, __pyx_t_5); | |
@@ -11730,32 +12090,32 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_20_generat | |
__Pyx_XDECREF_SET(__pyx_v_converter_argstr, __pyx_t_7); | |
__pyx_t_7 = 0; | |
- /* "falcon/routing/compiled.py":555 | |
+ /* "falcon/routing/compiled.py":564 | |
* # a series of nested "if" constructs. | |
* for field_name, converter_name, converter_argstr in node.var_converter_map: | |
* converter_class = self._converter_map[converter_name] # <<<<<<<<<<<<<< | |
* | |
* converter_obj = self._instantiate_converter( | |
*/ | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_converter_map); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 555, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_converter_map); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 564, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_converter_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 555, __pyx_L1_error) | |
+ __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_converter_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 564, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
__Pyx_XDECREF_SET(__pyx_v_converter_class, __pyx_t_7); | |
__pyx_t_7 = 0; | |
- /* "falcon/routing/compiled.py":557 | |
+ /* "falcon/routing/compiled.py":566 | |
* converter_class = self._converter_map[converter_name] | |
* | |
* converter_obj = self._instantiate_converter( # <<<<<<<<<<<<<< | |
* converter_class, converter_argstr | |
* ) | |
*/ | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_instantiate_converter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 557, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_instantiate_converter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 566, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- /* "falcon/routing/compiled.py":558 | |
+ /* "falcon/routing/compiled.py":567 | |
* | |
* converter_obj = self._instantiate_converter( | |
* converter_class, converter_argstr # <<<<<<<<<<<<<< | |
@@ -11778,48 +12138,48 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_20_generat | |
PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_v_converter_class, __pyx_v_converter_argstr}; | |
__pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_10, 2+__pyx_t_10); | |
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; | |
- if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 557, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 566, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
} | |
__Pyx_XDECREF_SET(__pyx_v_converter_obj, __pyx_t_7); | |
__pyx_t_7 = 0; | |
- /* "falcon/routing/compiled.py":560 | |
+ /* "falcon/routing/compiled.py":569 | |
* converter_class, converter_argstr | |
* ) | |
* converter_idx = len(self._converters) # <<<<<<<<<<<<<< | |
* self._converters.append(converter_obj) | |
* | |
*/ | |
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_converters); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 560, __pyx_L1_error) | |
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_converters); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 569, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
- __pyx_t_11 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_11 == ((Py_ssize_t)-1))) __PYX_ERR(0, 560, __pyx_L1_error) | |
+ __pyx_t_11 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_11 == ((Py_ssize_t)-1))) __PYX_ERR(0, 569, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
__pyx_v_converter_idx = __pyx_t_11; | |
- /* "falcon/routing/compiled.py":561 | |
+ /* "falcon/routing/compiled.py":570 | |
* ) | |
* converter_idx = len(self._converters) | |
* self._converters.append(converter_obj) # <<<<<<<<<<<<<< | |
* | |
* parent.append_child(_CxSetFragmentFromField(field_name)) | |
*/ | |
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_converters); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 561, __pyx_L1_error) | |
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_converters); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 570, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
- __pyx_t_12 = __Pyx_PyObject_Append(__pyx_t_7, __pyx_v_converter_obj); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(0, 561, __pyx_L1_error) | |
+ __pyx_t_12 = __Pyx_PyObject_Append(__pyx_t_7, __pyx_v_converter_obj); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(0, 570, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
- /* "falcon/routing/compiled.py":563 | |
+ /* "falcon/routing/compiled.py":572 | |
* self._converters.append(converter_obj) | |
* | |
* parent.append_child(_CxSetFragmentFromField(field_name)) # <<<<<<<<<<<<<< | |
* | |
- * construct = _CxIfConverterField(len(params_stack) + 1, converter_idx) | |
+ * cx_converter = _CxIfConverterField(len(params_stack) + 1, converter_idx) | |
*/ | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_append_child); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 563, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_append_child); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 572, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CxSetFragmentFromField); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 563, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_CxSetFragmentFromField); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 572, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__pyx_t_8 = NULL; | |
__pyx_t_10 = 0; | |
@@ -11837,7 +12197,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_20_generat | |
PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_v_field_name}; | |
__pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); | |
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; | |
- if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 563, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 572, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_6); | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
} | |
@@ -11858,29 +12218,25 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_20_generat | |
__pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); | |
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; | |
- if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 563, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 572, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
} | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
- /* "falcon/routing/compiled.py":565 | |
+ /* "falcon/routing/compiled.py":574 | |
* parent.append_child(_CxSetFragmentFromField(field_name)) | |
* | |
- * construct = _CxIfConverterField(len(params_stack) + 1, converter_idx) # <<<<<<<<<<<<<< | |
- * setter = _CxSetParamFromValue(field_name, construct.field_variable_name) | |
- * params_stack.append(setter) | |
+ * cx_converter = _CxIfConverterField(len(params_stack) + 1, converter_idx) # <<<<<<<<<<<<<< | |
+ * params_stack.append( | |
+ * _CxSetParamFromValue(field_name, cx_converter.field_variable_name) | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_CxIfConverterField); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 565, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_CxIfConverterField); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 574, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- if (unlikely(__pyx_v_params_stack == Py_None)) { | |
- PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); | |
- __PYX_ERR(0, 565, __pyx_L1_error) | |
- } | |
- __pyx_t_11 = PyList_GET_SIZE(__pyx_v_params_stack); if (unlikely(__pyx_t_11 == ((Py_ssize_t)-1))) __PYX_ERR(0, 565, __pyx_L1_error) | |
- __pyx_t_6 = PyInt_FromSsize_t((__pyx_t_11 + 1)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 565, __pyx_L1_error) | |
+ __pyx_t_11 = PyObject_Length(__pyx_v_params_stack); if (unlikely(__pyx_t_11 == ((Py_ssize_t)-1))) __PYX_ERR(0, 574, __pyx_L1_error) | |
+ __pyx_t_6 = PyInt_FromSsize_t((__pyx_t_11 + 1)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 574, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_6); | |
- __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_converter_idx); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 565, __pyx_L1_error) | |
+ __pyx_t_5 = PyInt_FromSsize_t(__pyx_v_converter_idx); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 574, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__pyx_t_8 = NULL; | |
__pyx_t_10 = 0; | |
@@ -11900,23 +12256,23 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_20_generat | |
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; | |
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
- if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 565, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 574, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
} | |
- __Pyx_DECREF_SET(__pyx_v_construct, __pyx_t_7); | |
+ __Pyx_XDECREF_SET(__pyx_v_cx_converter, __pyx_t_7); | |
__pyx_t_7 = 0; | |
- /* "falcon/routing/compiled.py":566 | |
- * | |
- * construct = _CxIfConverterField(len(params_stack) + 1, converter_idx) | |
- * setter = _CxSetParamFromValue(field_name, construct.field_variable_name) # <<<<<<<<<<<<<< | |
- * params_stack.append(setter) | |
+ /* "falcon/routing/compiled.py":576 | |
+ * cx_converter = _CxIfConverterField(len(params_stack) + 1, converter_idx) | |
+ * params_stack.append( | |
+ * _CxSetParamFromValue(field_name, cx_converter.field_variable_name) # <<<<<<<<<<<<<< | |
+ * ) | |
* | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_CxSetParamFromValue); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 566, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_CxSetParamFromValue); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 576, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_construct, __pyx_n_s_field_variable_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 566, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_cx_converter, __pyx_n_s_field_variable_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 576, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__pyx_t_6 = NULL; | |
__pyx_t_10 = 0; | |
@@ -11935,34 +12291,29 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_20_generat | |
__pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_10, 2+__pyx_t_10); | |
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
- if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 566, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 576, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
} | |
- __Pyx_DECREF_SET(__pyx_v_setter, __pyx_t_7); | |
- __pyx_t_7 = 0; | |
- /* "falcon/routing/compiled.py":567 | |
- * construct = _CxIfConverterField(len(params_stack) + 1, converter_idx) | |
- * setter = _CxSetParamFromValue(field_name, construct.field_variable_name) | |
- * params_stack.append(setter) # <<<<<<<<<<<<<< | |
+ /* "falcon/routing/compiled.py":575 | |
* | |
- * parent.append_child(construct) | |
+ * cx_converter = _CxIfConverterField(len(params_stack) + 1, converter_idx) | |
+ * params_stack.append( # <<<<<<<<<<<<<< | |
+ * _CxSetParamFromValue(field_name, cx_converter.field_variable_name) | |
+ * ) | |
*/ | |
- if (unlikely(__pyx_v_params_stack == Py_None)) { | |
- PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append"); | |
- __PYX_ERR(0, 567, __pyx_L1_error) | |
- } | |
- __pyx_t_12 = __Pyx_PyList_Append(__pyx_v_params_stack, __pyx_v_setter); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(0, 567, __pyx_L1_error) | |
+ __pyx_t_12 = __Pyx_PyObject_Append(__pyx_v_params_stack, __pyx_t_7); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(0, 575, __pyx_L1_error) | |
+ __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
- /* "falcon/routing/compiled.py":569 | |
- * params_stack.append(setter) | |
+ /* "falcon/routing/compiled.py":579 | |
+ * ) | |
* | |
- * parent.append_child(construct) # <<<<<<<<<<<<<< | |
- * parent = construct | |
+ * parent.append_child(cx_converter) # <<<<<<<<<<<<<< | |
+ * parent = cx_converter | |
* | |
*/ | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_append_child); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 569, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_append_child); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 579, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__pyx_t_5 = NULL; | |
__pyx_t_10 = 0; | |
@@ -11977,26 +12328,26 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_20_generat | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_construct}; | |
+ PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_cx_converter}; | |
__pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); | |
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
- if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 569, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 579, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
} | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
- /* "falcon/routing/compiled.py":570 | |
+ /* "falcon/routing/compiled.py":580 | |
* | |
- * parent.append_child(construct) | |
- * parent = construct # <<<<<<<<<<<<<< | |
+ * parent.append_child(cx_converter) | |
+ * parent = cx_converter # <<<<<<<<<<<<<< | |
* | |
* # NOTE(kgriffs): Add remaining fields that were not | |
*/ | |
- __Pyx_INCREF(__pyx_v_construct); | |
- __Pyx_DECREF_SET(__pyx_v_parent, __pyx_v_construct); | |
+ __Pyx_INCREF(__pyx_v_cx_converter); | |
+ __Pyx_DECREF_SET(__pyx_v_parent, __pyx_v_cx_converter); | |
- /* "falcon/routing/compiled.py":554 | |
+ /* "falcon/routing/compiled.py":563 | |
* # NOTE(kgriffs): Unroll the converter loop into | |
* # a series of nested "if" constructs. | |
* for field_name, converter_name, converter_argstr in node.var_converter_map: # <<<<<<<<<<<<<< | |
@@ -12006,43 +12357,47 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_20_generat | |
} | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- /* "falcon/routing/compiled.py":574 | |
+ /* "falcon/routing/compiled.py":584 | |
* # NOTE(kgriffs): Add remaining fields that were not | |
* # converted, if any. | |
* if node.num_fields > len(node.var_converter_map): # <<<<<<<<<<<<<< | |
- * construct = _CxVariableFromPatternMatchPrefetched(len(params_stack) + 1) | |
- * setter = _CxSetParamsFromDict(construct.dict_variable_name) | |
+ * cx_pattern_match = _CxVariableFromPatternMatchPrefetched( | |
+ * len(params_stack) + 1 | |
*/ | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_num_fields); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 574, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_num_fields); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 584, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_var_converter_map); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 574, __pyx_L1_error) | |
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_var_converter_map); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 584, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
- __pyx_t_3 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 574, __pyx_L1_error) | |
+ __pyx_t_3 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 584, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
- __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 574, __pyx_L1_error) | |
+ __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 584, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
- __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_t_7, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 574, __pyx_L1_error) | |
+ __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_t_7, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 584, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
- __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 574, __pyx_L1_error) | |
+ __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 584, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
if (__pyx_t_13) { | |
- /* "falcon/routing/compiled.py":575 | |
+ /* "falcon/routing/compiled.py":585 | |
* # converted, if any. | |
* if node.num_fields > len(node.var_converter_map): | |
- * construct = _CxVariableFromPatternMatchPrefetched(len(params_stack) + 1) # <<<<<<<<<<<<<< | |
- * setter = _CxSetParamsFromDict(construct.dict_variable_name) | |
- * params_stack.append(setter) | |
+ * cx_pattern_match = _CxVariableFromPatternMatchPrefetched( # <<<<<<<<<<<<<< | |
+ * len(params_stack) + 1 | |
+ * ) | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CxVariableFromPatternMatchPrefe); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 575, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CxVariableFromPatternMatchPrefe); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 585, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
- if (unlikely(__pyx_v_params_stack == Py_None)) { | |
- PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); | |
- __PYX_ERR(0, 575, __pyx_L1_error) | |
- } | |
- __pyx_t_3 = PyList_GET_SIZE(__pyx_v_params_stack); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 575, __pyx_L1_error) | |
- __pyx_t_2 = PyInt_FromSsize_t((__pyx_t_3 + 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 575, __pyx_L1_error) | |
+ | |
+ /* "falcon/routing/compiled.py":586 | |
+ * if node.num_fields > len(node.var_converter_map): | |
+ * cx_pattern_match = _CxVariableFromPatternMatchPrefetched( | |
+ * len(params_stack) + 1 # <<<<<<<<<<<<<< | |
+ * ) | |
+ * params_stack.append( | |
+ */ | |
+ __pyx_t_3 = PyObject_Length(__pyx_v_params_stack); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(0, 586, __pyx_L1_error) | |
+ __pyx_t_2 = PyInt_FromSsize_t((__pyx_t_3 + 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 586, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__pyx_t_5 = NULL; | |
__pyx_t_10 = 0; | |
@@ -12061,23 +12416,23 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_20_generat | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); | |
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 575, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 585, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
} | |
- __Pyx_DECREF_SET(__pyx_v_construct, __pyx_t_1); | |
+ __pyx_v_cx_pattern_match = __pyx_t_1; | |
__pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":576 | |
- * if node.num_fields > len(node.var_converter_map): | |
- * construct = _CxVariableFromPatternMatchPrefetched(len(params_stack) + 1) | |
- * setter = _CxSetParamsFromDict(construct.dict_variable_name) # <<<<<<<<<<<<<< | |
- * params_stack.append(setter) | |
- * parent.append_child(construct) | |
+ /* "falcon/routing/compiled.py":589 | |
+ * ) | |
+ * params_stack.append( | |
+ * _CxSetParamsFromDict(cx_pattern_match.dict_variable_name) # <<<<<<<<<<<<<< | |
+ * ) | |
+ * parent.append_child(cx_pattern_match) | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CxSetParamsFromDict); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 576, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_CxSetParamsFromDict); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 589, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_construct, __pyx_n_s_dict_variable_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 576, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cx_pattern_match, __pyx_n_s_dict_variable_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 589, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__pyx_t_5 = NULL; | |
__pyx_t_10 = 0; | |
@@ -12096,34 +12451,29 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_20_generat | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); | |
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 576, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 589, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
} | |
- __Pyx_DECREF_SET(__pyx_v_setter, __pyx_t_1); | |
- __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":577 | |
- * construct = _CxVariableFromPatternMatchPrefetched(len(params_stack) + 1) | |
- * setter = _CxSetParamsFromDict(construct.dict_variable_name) | |
- * params_stack.append(setter) # <<<<<<<<<<<<<< | |
- * parent.append_child(construct) | |
- * | |
+ /* "falcon/routing/compiled.py":588 | |
+ * len(params_stack) + 1 | |
+ * ) | |
+ * params_stack.append( # <<<<<<<<<<<<<< | |
+ * _CxSetParamsFromDict(cx_pattern_match.dict_variable_name) | |
+ * ) | |
*/ | |
- if (unlikely(__pyx_v_params_stack == Py_None)) { | |
- PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "append"); | |
- __PYX_ERR(0, 577, __pyx_L1_error) | |
- } | |
- __pyx_t_12 = __Pyx_PyList_Append(__pyx_v_params_stack, __pyx_v_setter); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(0, 577, __pyx_L1_error) | |
+ __pyx_t_12 = __Pyx_PyObject_Append(__pyx_v_params_stack, __pyx_t_1); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(0, 588, __pyx_L1_error) | |
+ __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":578 | |
- * setter = _CxSetParamsFromDict(construct.dict_variable_name) | |
- * params_stack.append(setter) | |
- * parent.append_child(construct) # <<<<<<<<<<<<<< | |
+ /* "falcon/routing/compiled.py":591 | |
+ * _CxSetParamsFromDict(cx_pattern_match.dict_variable_name) | |
+ * ) | |
+ * parent.append_child(cx_pattern_match) # <<<<<<<<<<<<<< | |
* | |
* return parent | |
*/ | |
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_append_child); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 578, __pyx_L1_error) | |
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_parent, __pyx_n_s_append_child); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 591, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__pyx_t_2 = NULL; | |
__pyx_t_10 = 0; | |
@@ -12138,42 +12488,42 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_20_generat | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_construct}; | |
+ PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_cx_pattern_match}; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); | |
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 578, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 591, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
} | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":574 | |
+ /* "falcon/routing/compiled.py":584 | |
* # NOTE(kgriffs): Add remaining fields that were not | |
* # converted, if any. | |
* if node.num_fields > len(node.var_converter_map): # <<<<<<<<<<<<<< | |
- * construct = _CxVariableFromPatternMatchPrefetched(len(params_stack) + 1) | |
- * setter = _CxSetParamsFromDict(construct.dict_variable_name) | |
+ * cx_pattern_match = _CxVariableFromPatternMatchPrefetched( | |
+ * len(params_stack) + 1 | |
*/ | |
} | |
- /* "falcon/routing/compiled.py":580 | |
- * parent.append_child(construct) | |
+ /* "falcon/routing/compiled.py":593 | |
+ * parent.append_child(cx_pattern_match) | |
* | |
* return parent # <<<<<<<<<<<<<< | |
* | |
- * def _compile(self): | |
+ * def _compile(self) -> 'Callable': # TODO type better | |
*/ | |
__Pyx_XDECREF(__pyx_r); | |
__Pyx_INCREF(__pyx_v_parent); | |
__pyx_r = __pyx_v_parent; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":547 | |
+ /* "falcon/routing/compiled.py":555 | |
* parent.append_child(_CxReturnNone()) | |
* | |
* def _generate_conversion_ast( # <<<<<<<<<<<<<< | |
- * self, parent, node: 'CompiledRouterNode', params_stack: list | |
- * ): | |
+ * self, | |
+ * parent: '_CxParent', | |
*/ | |
/* function exit code */ | |
@@ -12187,23 +12537,23 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_20_generat | |
__Pyx_AddTraceback("falcon.routing.compiled.CompiledRouter._generate_conversion_ast", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__pyx_r = NULL; | |
__pyx_L0:; | |
- __Pyx_XDECREF(__pyx_v_construct); | |
- __Pyx_XDECREF(__pyx_v_setter); | |
__Pyx_XDECREF(__pyx_v_field_name); | |
__Pyx_XDECREF(__pyx_v_converter_name); | |
__Pyx_XDECREF(__pyx_v_converter_argstr); | |
__Pyx_XDECREF(__pyx_v_converter_class); | |
__Pyx_XDECREF(__pyx_v_converter_obj); | |
+ __Pyx_XDECREF(__pyx_v_cx_converter); | |
+ __Pyx_XDECREF(__pyx_v_cx_pattern_match); | |
__Pyx_XDECREF(__pyx_v_parent); | |
__Pyx_XGIVEREF(__pyx_r); | |
__Pyx_RefNannyFinishContext(); | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":582 | |
+/* "falcon/routing/compiled.py":595 | |
* return parent | |
* | |
- * def _compile(self): # <<<<<<<<<<<<<< | |
+ * def _compile(self) -> 'Callable': # TODO type better # <<<<<<<<<<<<<< | |
* """Generate Python code for the entire routing tree. | |
* | |
*/ | |
@@ -12255,12 +12605,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 582, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 595, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_compile") < 0)) __PYX_ERR(0, 582, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_compile") < 0)) __PYX_ERR(0, 595, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 1)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -12271,7 +12621,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("_compile", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 582, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_compile", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 595, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled.CompiledRouter._compile", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -12302,27 +12652,27 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_22_compile | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("_compile", 0); | |
- /* "falcon/routing/compiled.py":591 | |
+ /* "falcon/routing/compiled.py":604 | |
* src_lines = [ | |
* 'def find(path, return_values, patterns, converters, params):', | |
* _TAB_STR + 'path_len = len(path)', # <<<<<<<<<<<<<< | |
* ] | |
* | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 591, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 604, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_kp_u_path_len_len_path); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 591, __pyx_L1_error) | |
+ __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_kp_u_path_len_len_path); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 604, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":589 | |
+ /* "falcon/routing/compiled.py":602 | |
* """ | |
* | |
* src_lines = [ # <<<<<<<<<<<<<< | |
* 'def find(path, return_values, patterns, converters, params):', | |
* _TAB_STR + 'path_len = len(path)', | |
*/ | |
- __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 589, __pyx_L1_error) | |
+ __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 602, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_INCREF(__pyx_kp_u_def_find_path_return_values_patt); | |
__Pyx_GIVEREF(__pyx_kp_u_def_find_path_return_values_patt); | |
@@ -12333,50 +12683,50 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_22_compile | |
__pyx_v_src_lines = ((PyObject*)__pyx_t_1); | |
__pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":594 | |
+ /* "falcon/routing/compiled.py":607 | |
* ] | |
* | |
* self._return_values = [] # <<<<<<<<<<<<<< | |
* self._patterns = [] | |
* self._converters = [] | |
*/ | |
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 594, __pyx_L1_error) | |
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 607, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_return_values, __pyx_t_1) < 0) __PYX_ERR(0, 594, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_return_values, __pyx_t_1) < 0) __PYX_ERR(0, 607, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":595 | |
+ /* "falcon/routing/compiled.py":608 | |
* | |
* self._return_values = [] | |
* self._patterns = [] # <<<<<<<<<<<<<< | |
* self._converters = [] | |
* | |
*/ | |
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 595, __pyx_L1_error) | |
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 608, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_patterns, __pyx_t_1) < 0) __PYX_ERR(0, 595, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_patterns, __pyx_t_1) < 0) __PYX_ERR(0, 608, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":596 | |
+ /* "falcon/routing/compiled.py":609 | |
* self._return_values = [] | |
* self._patterns = [] | |
* self._converters = [] # <<<<<<<<<<<<<< | |
* | |
* self._ast = _CxParent() | |
*/ | |
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 596, __pyx_L1_error) | |
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 609, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_converters, __pyx_t_1) < 0) __PYX_ERR(0, 596, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_converters, __pyx_t_1) < 0) __PYX_ERR(0, 609, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":598 | |
+ /* "falcon/routing/compiled.py":611 | |
* self._converters = [] | |
* | |
* self._ast = _CxParent() # <<<<<<<<<<<<<< | |
* self._generate_ast( | |
* self._roots, self._ast, self._return_values, self._patterns, params_stack=[] | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CxParent); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 598, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CxParent); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 611, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__pyx_t_3 = NULL; | |
__pyx_t_4 = 0; | |
@@ -12394,47 +12744,47 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_22_compile | |
PyObject *__pyx_callargs[1] = {__pyx_t_3, }; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 598, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 611, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_ast, __pyx_t_1) < 0) __PYX_ERR(0, 598, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_ast, __pyx_t_1) < 0) __PYX_ERR(0, 611, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":599 | |
+ /* "falcon/routing/compiled.py":612 | |
* | |
* self._ast = _CxParent() | |
* self._generate_ast( # <<<<<<<<<<<<<< | |
* self._roots, self._ast, self._return_values, self._patterns, params_stack=[] | |
* ) | |
*/ | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_generate_ast); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 599, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_generate_ast); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 612, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- /* "falcon/routing/compiled.py":600 | |
+ /* "falcon/routing/compiled.py":613 | |
* self._ast = _CxParent() | |
* self._generate_ast( | |
* self._roots, self._ast, self._return_values, self._patterns, params_stack=[] # <<<<<<<<<<<<<< | |
* ) | |
* | |
*/ | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_roots); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 600, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_roots); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 613, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ast); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 600, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ast); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 613, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_return_values); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 600, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_return_values); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 613, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_patterns); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 600, __pyx_L1_error) | |
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_patterns); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 613, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_6); | |
- /* "falcon/routing/compiled.py":599 | |
+ /* "falcon/routing/compiled.py":612 | |
* | |
* self._ast = _CxParent() | |
* self._generate_ast( # <<<<<<<<<<<<<< | |
* self._roots, self._ast, self._return_values, self._patterns, params_stack=[] | |
* ) | |
*/ | |
- __pyx_t_7 = PyTuple_New(4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 599, __pyx_L1_error) | |
+ __pyx_t_7 = PyTuple_New(4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 612, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__Pyx_GIVEREF(__pyx_t_2); | |
PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2); | |
@@ -12449,44 +12799,44 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_22_compile | |
__pyx_t_5 = 0; | |
__pyx_t_6 = 0; | |
- /* "falcon/routing/compiled.py":600 | |
+ /* "falcon/routing/compiled.py":613 | |
* self._ast = _CxParent() | |
* self._generate_ast( | |
* self._roots, self._ast, self._return_values, self._patterns, params_stack=[] # <<<<<<<<<<<<<< | |
* ) | |
* | |
*/ | |
- __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 600, __pyx_L1_error) | |
+ __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 613, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_6); | |
- __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 600, __pyx_L1_error) | |
+ __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 613, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
- if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_params_stack, __pyx_t_5) < 0) __PYX_ERR(0, 600, __pyx_L1_error) | |
+ if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_params_stack, __pyx_t_5) < 0) __PYX_ERR(0, 613, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
- /* "falcon/routing/compiled.py":599 | |
+ /* "falcon/routing/compiled.py":612 | |
* | |
* self._ast = _CxParent() | |
* self._generate_ast( # <<<<<<<<<<<<<< | |
* self._roots, self._ast, self._return_values, self._patterns, params_stack=[] | |
* ) | |
*/ | |
- __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 599, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 612, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
- /* "falcon/routing/compiled.py":603 | |
+ /* "falcon/routing/compiled.py":616 | |
* ) | |
* | |
* src_lines.append(self._ast.src(0)) # <<<<<<<<<<<<<< | |
* | |
* src_lines.append( | |
*/ | |
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ast); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 603, __pyx_L1_error) | |
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ast); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 616, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_6); | |
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_src); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 603, __pyx_L1_error) | |
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_src); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 616, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; | |
__pyx_t_6 = NULL; | |
@@ -12505,78 +12855,78 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_22_compile | |
PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_int_0}; | |
__pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; | |
- if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 603, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 616, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
} | |
- __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_src_lines, __pyx_t_5); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 603, __pyx_L1_error) | |
+ __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_src_lines, __pyx_t_5); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 616, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
- /* "falcon/routing/compiled.py":607 | |
+ /* "falcon/routing/compiled.py":620 | |
* src_lines.append( | |
* # PERF(kgriffs): Explicit return of None is faster than implicit | |
* _TAB_STR # <<<<<<<<<<<<<< | |
* + 'return None' | |
* ) | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 607, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 620, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
- /* "falcon/routing/compiled.py":608 | |
+ /* "falcon/routing/compiled.py":621 | |
* # PERF(kgriffs): Explicit return of None is faster than implicit | |
* _TAB_STR | |
* + 'return None' # <<<<<<<<<<<<<< | |
* ) | |
* | |
*/ | |
- __pyx_t_7 = PyNumber_Add(__pyx_t_5, __pyx_kp_u_return_None); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 608, __pyx_L1_error) | |
+ __pyx_t_7 = PyNumber_Add(__pyx_t_5, __pyx_kp_u_return_None); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 621, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
- /* "falcon/routing/compiled.py":605 | |
+ /* "falcon/routing/compiled.py":618 | |
* src_lines.append(self._ast.src(0)) | |
* | |
* src_lines.append( # <<<<<<<<<<<<<< | |
* # PERF(kgriffs): Explicit return of None is faster than implicit | |
* _TAB_STR | |
*/ | |
- __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_src_lines, __pyx_t_7); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 605, __pyx_L1_error) | |
+ __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_src_lines, __pyx_t_7); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 618, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
- /* "falcon/routing/compiled.py":611 | |
+ /* "falcon/routing/compiled.py":624 | |
* ) | |
* | |
* self._finder_src = '\n'.join(src_lines) # <<<<<<<<<<<<<< | |
* | |
- * scope = {} | |
+ * scope: 'Dict[str, Callable]' = {} | |
*/ | |
- __pyx_t_7 = PyUnicode_Join(__pyx_kp_u__12, __pyx_v_src_lines); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 611, __pyx_L1_error) | |
+ __pyx_t_7 = PyUnicode_Join(__pyx_kp_u__13, __pyx_v_src_lines); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 624, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_finder_src, __pyx_t_7) < 0) __PYX_ERR(0, 611, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_finder_src, __pyx_t_7) < 0) __PYX_ERR(0, 624, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
- /* "falcon/routing/compiled.py":613 | |
+ /* "falcon/routing/compiled.py":626 | |
* self._finder_src = '\n'.join(src_lines) | |
* | |
- * scope = {} # <<<<<<<<<<<<<< | |
+ * scope: 'Dict[str, Callable]' = {} # <<<<<<<<<<<<<< | |
* exec(compile(self._finder_src, '<string>', 'exec'), scope) | |
* | |
*/ | |
- __pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 613, __pyx_L1_error) | |
+ __pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 626, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__pyx_v_scope = ((PyObject*)__pyx_t_7); | |
__pyx_t_7 = 0; | |
- /* "falcon/routing/compiled.py":614 | |
+ /* "falcon/routing/compiled.py":627 | |
* | |
- * scope = {} | |
+ * scope: 'Dict[str, Callable]' = {} | |
* exec(compile(self._finder_src, '<string>', 'exec'), scope) # <<<<<<<<<<<<<< | |
* | |
* return scope['find'] | |
*/ | |
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_finder_src); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 614, __pyx_L1_error) | |
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_finder_src); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 627, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
- __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 614, __pyx_L1_error) | |
+ __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 627, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__Pyx_GIVEREF(__pyx_t_7); | |
PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); | |
@@ -12587,15 +12937,15 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_22_compile | |
__Pyx_GIVEREF(__pyx_n_u_exec); | |
PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_n_u_exec); | |
__pyx_t_7 = 0; | |
- __pyx_t_7 = __Pyx_PyObject_Call(__pyx_builtin_compile, __pyx_t_5, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 614, __pyx_L1_error) | |
+ __pyx_t_7 = __Pyx_PyObject_Call(__pyx_builtin_compile, __pyx_t_5, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 627, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
- __pyx_t_5 = __Pyx_PyExec2(__pyx_t_7, __pyx_v_scope); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 614, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_PyExec2(__pyx_t_7, __pyx_v_scope); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 627, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
- /* "falcon/routing/compiled.py":616 | |
+ /* "falcon/routing/compiled.py":629 | |
* exec(compile(self._finder_src, '<string>', 'exec'), scope) | |
* | |
* return scope['find'] # <<<<<<<<<<<<<< | |
@@ -12603,16 +12953,16 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_22_compile | |
* def _instantiate_converter(self, klass, argstr=None): | |
*/ | |
__Pyx_XDECREF(__pyx_r); | |
- __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_scope, __pyx_n_u_find_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 616, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_scope, __pyx_n_u_find_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 629, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__pyx_r = __pyx_t_5; | |
__pyx_t_5 = 0; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":582 | |
+ /* "falcon/routing/compiled.py":595 | |
* return parent | |
* | |
- * def _compile(self): # <<<<<<<<<<<<<< | |
+ * def _compile(self) -> 'Callable': # TODO type better # <<<<<<<<<<<<<< | |
* """Generate Python code for the entire routing tree. | |
* | |
*/ | |
@@ -12635,7 +12985,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_22_compile | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":618 | |
+/* "falcon/routing/compiled.py":631 | |
* return scope['find'] | |
* | |
* def _instantiate_converter(self, klass, argstr=None): # <<<<<<<<<<<<<< | |
@@ -12696,26 +13046,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 618, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 631, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_klass)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 618, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 631, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("_instantiate_converter", 0, 2, 3, 1); __PYX_ERR(0, 618, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_instantiate_converter", 0, 2, 3, 1); __PYX_ERR(0, 631, __pyx_L3_error) | |
} | |
CYTHON_FALLTHROUGH; | |
case 2: | |
if (kw_args > 0) { | |
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_argstr); | |
if (value) { values[2] = value; kw_args--; } | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 618, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 631, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_instantiate_converter") < 0)) __PYX_ERR(0, 618, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_instantiate_converter") < 0)) __PYX_ERR(0, 631, __pyx_L3_error) | |
} | |
} else { | |
switch (__pyx_nargs) { | |
@@ -12733,7 +13083,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("_instantiate_converter", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 618, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_instantiate_converter", 0, 2, 3, __pyx_nargs); __PYX_ERR(0, 631, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled.CompiledRouter._instantiate_converter", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -12762,7 +13112,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_24_instant | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("_instantiate_converter", 0); | |
- /* "falcon/routing/compiled.py":619 | |
+ /* "falcon/routing/compiled.py":632 | |
* | |
* def _instantiate_converter(self, klass, argstr=None): | |
* if argstr is None: # <<<<<<<<<<<<<< | |
@@ -12773,7 +13123,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_24_instant | |
__pyx_t_2 = (__pyx_t_1 != 0); | |
if (__pyx_t_2) { | |
- /* "falcon/routing/compiled.py":620 | |
+ /* "falcon/routing/compiled.py":633 | |
* def _instantiate_converter(self, klass, argstr=None): | |
* if argstr is None: | |
* return klass() # <<<<<<<<<<<<<< | |
@@ -12798,7 +13148,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_24_instant | |
PyObject *__pyx_callargs[1] = {__pyx_t_5, }; | |
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6); | |
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 620, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 633, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
} | |
@@ -12806,7 +13156,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_24_instant | |
__pyx_t_3 = 0; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":619 | |
+ /* "falcon/routing/compiled.py":632 | |
* | |
* def _instantiate_converter(self, klass, argstr=None): | |
* if argstr is None: # <<<<<<<<<<<<<< | |
@@ -12815,16 +13165,16 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_24_instant | |
*/ | |
} | |
- /* "falcon/routing/compiled.py":623 | |
+ /* "falcon/routing/compiled.py":636 | |
* | |
* # NOTE(kgriffs): Don't try this at home. ;) | |
* src = '{0}({1})'.format(klass.__name__, argstr) # <<<<<<<<<<<<<< | |
* return eval(src, {klass.__name__: klass}) | |
* | |
*/ | |
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_1, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 623, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_1, __pyx_n_s_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 636, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_klass, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 623, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_klass, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 636, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__pyx_t_7 = NULL; | |
__pyx_t_6 = 0; | |
@@ -12843,14 +13193,14 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_24_instant | |
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 2+__pyx_t_6); | |
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 623, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 636, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
} | |
__pyx_v_src = __pyx_t_3; | |
__pyx_t_3 = 0; | |
- /* "falcon/routing/compiled.py":624 | |
+ /* "falcon/routing/compiled.py":637 | |
* # NOTE(kgriffs): Don't try this at home. ;) | |
* src = '{0}({1})'.format(klass.__name__, argstr) | |
* return eval(src, {klass.__name__: klass}) # <<<<<<<<<<<<<< | |
@@ -12858,13 +13208,13 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_24_instant | |
* def _compile_and_find(self, path, _return_values, _patterns, _converters, params): | |
*/ | |
__Pyx_XDECREF(__pyx_r); | |
- __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 624, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 637, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_klass, __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 624, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_klass, __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 637, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
- if (PyDict_SetItem(__pyx_t_3, __pyx_t_4, __pyx_v_klass) < 0) __PYX_ERR(0, 624, __pyx_L1_error) | |
+ if (PyDict_SetItem(__pyx_t_3, __pyx_t_4, __pyx_v_klass) < 0) __PYX_ERR(0, 637, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
- __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 624, __pyx_L1_error) | |
+ __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 637, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_INCREF(__pyx_v_src); | |
__Pyx_GIVEREF(__pyx_v_src); | |
@@ -12872,14 +13222,14 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_24_instant | |
__Pyx_GIVEREF(__pyx_t_3); | |
PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); | |
__pyx_t_3 = 0; | |
- __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_eval, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 624, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_eval, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 637, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
__pyx_r = __pyx_t_3; | |
__pyx_t_3 = 0; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":618 | |
+ /* "falcon/routing/compiled.py":631 | |
* return scope['find'] | |
* | |
* def _instantiate_converter(self, klass, argstr=None): # <<<<<<<<<<<<<< | |
@@ -12902,7 +13252,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_24_instant | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":626 | |
+/* "falcon/routing/compiled.py":639 | |
* return eval(src, {klass.__name__: klass}) | |
* | |
* def _compile_and_find(self, path, _return_values, _patterns, _converters, params): # <<<<<<<<<<<<<< | |
@@ -12972,47 +13322,47 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 626, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 639, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_path)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 626, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 639, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("_compile_and_find", 1, 6, 6, 1); __PYX_ERR(0, 626, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_compile_and_find", 1, 6, 6, 1); __PYX_ERR(0, 639, __pyx_L3_error) | |
} | |
CYTHON_FALLTHROUGH; | |
case 2: | |
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_return_values)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 626, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 639, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("_compile_and_find", 1, 6, 6, 2); __PYX_ERR(0, 626, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_compile_and_find", 1, 6, 6, 2); __PYX_ERR(0, 639, __pyx_L3_error) | |
} | |
CYTHON_FALLTHROUGH; | |
case 3: | |
if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_patterns)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 626, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 639, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("_compile_and_find", 1, 6, 6, 3); __PYX_ERR(0, 626, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_compile_and_find", 1, 6, 6, 3); __PYX_ERR(0, 639, __pyx_L3_error) | |
} | |
CYTHON_FALLTHROUGH; | |
case 4: | |
if (likely((values[4] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_converters)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 626, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 639, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("_compile_and_find", 1, 6, 6, 4); __PYX_ERR(0, 626, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_compile_and_find", 1, 6, 6, 4); __PYX_ERR(0, 639, __pyx_L3_error) | |
} | |
CYTHON_FALLTHROUGH; | |
case 5: | |
if (likely((values[5] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_params)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 626, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 639, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("_compile_and_find", 1, 6, 6, 5); __PYX_ERR(0, 626, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_compile_and_find", 1, 6, 6, 5); __PYX_ERR(0, 639, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_compile_and_find") < 0)) __PYX_ERR(0, 626, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_compile_and_find") < 0)) __PYX_ERR(0, 639, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 6)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -13033,7 +13383,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("_compile_and_find", 1, 6, 6, __pyx_nargs); __PYX_ERR(0, 626, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_compile_and_find", 1, 6, 6, __pyx_nargs); __PYX_ERR(0, 639, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled.CompiledRouter._compile_and_find", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -13068,7 +13418,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_26_compile | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("_compile_and_find", 0); | |
- /* "falcon/routing/compiled.py":635 | |
+ /* "falcon/routing/compiled.py":648 | |
* :meth:`.CompiledRouter._compile`. | |
* """ | |
* with self._compile_lock: # <<<<<<<<<<<<<< | |
@@ -13076,11 +13426,11 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_26_compile | |
* # NOTE(caselit): replace the find with the result of the | |
*/ | |
/*with:*/ { | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_compile_lock); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 635, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_compile_lock); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 648, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 635, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_exit); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 648, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 635, __pyx_L3_error) | |
+ __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 648, __pyx_L3_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__pyx_t_5 = NULL; | |
__pyx_t_6 = 0; | |
@@ -13098,7 +13448,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_26_compile | |
PyObject *__pyx_callargs[1] = {__pyx_t_5, }; | |
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6); | |
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 635, __pyx_L3_error) | |
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 648, __pyx_L3_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
} | |
@@ -13114,32 +13464,32 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_26_compile | |
__Pyx_XGOTREF(__pyx_t_9); | |
/*try:*/ { | |
- /* "falcon/routing/compiled.py":636 | |
+ /* "falcon/routing/compiled.py":649 | |
* """ | |
* with self._compile_lock: | |
* if self._find == self._compile_and_find: # <<<<<<<<<<<<<< | |
* # NOTE(caselit): replace the find with the result of the | |
* # router compilation | |
*/ | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 636, __pyx_L7_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 649, __pyx_L7_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_compile_and_find); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 636, __pyx_L7_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_compile_and_find); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 649, __pyx_L7_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 636, __pyx_L7_error) | |
+ __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 649, __pyx_L7_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 636, __pyx_L7_error) | |
+ __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 649, __pyx_L7_error) | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
if (__pyx_t_10) { | |
- /* "falcon/routing/compiled.py":639 | |
+ /* "falcon/routing/compiled.py":652 | |
* # NOTE(caselit): replace the find with the result of the | |
* # router compilation | |
* self._find = self._compile() # <<<<<<<<<<<<<< | |
* # NOTE(caselit): return_values, patterns, converters are reset by the _compile | |
* # method, so the updated ones must be used | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_compile_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 639, __pyx_L7_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_compile_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 652, __pyx_L7_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__pyx_t_1 = NULL; | |
__pyx_t_6 = 0; | |
@@ -13157,14 +13507,14 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_26_compile | |
PyObject *__pyx_callargs[1] = {__pyx_t_1, }; | |
__pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6); | |
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 639, __pyx_L7_error) | |
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 652, __pyx_L7_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_find, __pyx_t_4) < 0) __PYX_ERR(0, 639, __pyx_L7_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_find, __pyx_t_4) < 0) __PYX_ERR(0, 652, __pyx_L7_error) | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
- /* "falcon/routing/compiled.py":636 | |
+ /* "falcon/routing/compiled.py":649 | |
* """ | |
* with self._compile_lock: | |
* if self._find == self._compile_and_find: # <<<<<<<<<<<<<< | |
@@ -13173,7 +13523,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_26_compile | |
*/ | |
} | |
- /* "falcon/routing/compiled.py":635 | |
+ /* "falcon/routing/compiled.py":648 | |
* :meth:`.CompiledRouter._compile`. | |
* """ | |
* with self._compile_lock: # <<<<<<<<<<<<<< | |
@@ -13192,20 +13542,20 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_26_compile | |
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
/*except:*/ { | |
__Pyx_AddTraceback("falcon.routing.compiled.CompiledRouter._compile_and_find", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
- if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 635, __pyx_L9_except_error) | |
+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_3, &__pyx_t_1) < 0) __PYX_ERR(0, 648, __pyx_L9_except_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_GOTREF(__pyx_t_1); | |
- __pyx_t_5 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 635, __pyx_L9_except_error) | |
+ __pyx_t_5 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 648, __pyx_L9_except_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
- if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 635, __pyx_L9_except_error) | |
+ if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 648, __pyx_L9_except_error) | |
__Pyx_GOTREF(__pyx_t_11); | |
__pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_11); | |
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; | |
- if (__pyx_t_10 < 0) __PYX_ERR(0, 635, __pyx_L9_except_error) | |
+ if (__pyx_t_10 < 0) __PYX_ERR(0, 648, __pyx_L9_except_error) | |
__pyx_t_12 = ((!(__pyx_t_10 != 0)) != 0); | |
if (unlikely(__pyx_t_12)) { | |
__Pyx_GIVEREF(__pyx_t_4); | |
@@ -13213,7 +13563,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_26_compile | |
__Pyx_XGIVEREF(__pyx_t_1); | |
__Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_3, __pyx_t_1); | |
__pyx_t_4 = 0; __pyx_t_3 = 0; __pyx_t_1 = 0; | |
- __PYX_ERR(0, 635, __pyx_L9_except_error) | |
+ __PYX_ERR(0, 648, __pyx_L9_except_error) | |
} | |
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; | |
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; | |
@@ -13237,9 +13587,9 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_26_compile | |
/*finally:*/ { | |
/*normal exit:*/{ | |
if (__pyx_t_2) { | |
- __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__13, NULL); | |
+ __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__14, NULL); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 635, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 648, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_9); | |
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
} | |
@@ -13254,7 +13604,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_26_compile | |
__pyx_L17:; | |
} | |
- /* "falcon/routing/compiled.py":642 | |
+ /* "falcon/routing/compiled.py":655 | |
* # NOTE(caselit): return_values, patterns, converters are reset by the _compile | |
* # method, so the updated ones must be used | |
* return self._find( # <<<<<<<<<<<<<< | |
@@ -13262,21 +13612,21 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_26_compile | |
* ) | |
*/ | |
__Pyx_XDECREF(__pyx_r); | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 642, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 655, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- /* "falcon/routing/compiled.py":643 | |
+ /* "falcon/routing/compiled.py":656 | |
* # method, so the updated ones must be used | |
* return self._find( | |
* path, self._return_values, self._patterns, self._converters, params # <<<<<<<<<<<<<< | |
* ) | |
* | |
*/ | |
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_return_values); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 643, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_return_values); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 656, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_patterns); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 643, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_patterns); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 656, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
- __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_converters); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 643, __pyx_L1_error) | |
+ __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_converters); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 656, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_13); | |
__pyx_t_14 = NULL; | |
__pyx_t_6 = 0; | |
@@ -13297,7 +13647,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_26_compile | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 642, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 655, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
@@ -13305,7 +13655,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_26_compile | |
__pyx_t_1 = 0; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":626 | |
+ /* "falcon/routing/compiled.py":639 | |
* return eval(src, {klass.__name__: klass}) | |
* | |
* def _compile_and_find(self, path, _return_values, _patterns, _converters, params): # <<<<<<<<<<<<<< | |
@@ -13329,12 +13679,12 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14CompiledRouter_26_compile | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":650 | |
+/* "falcon/routing/compiled.py":663 | |
* """Represents a single URI segment in a URI.""" | |
* | |
- * def __init__(self, raw_segment, method_map=None, resource=None, uri_template=None): # <<<<<<<<<<<<<< | |
- * self.children = [] | |
- * | |
+ * def __init__( # <<<<<<<<<<<<<< | |
+ * self, | |
+ * raw_segment: str, | |
*/ | |
/* Python wrapper */ | |
@@ -13375,8 +13725,32 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_raw_segment,&__pyx_n_s_method_map,&__pyx_n_s_resource,&__pyx_n_s_uri_template,0}; | |
#endif | |
PyObject* values[5] = {0,0,0,0,0}; | |
+ | |
+ /* "falcon/routing/compiled.py":666 | |
+ * self, | |
+ * raw_segment: str, | |
+ * method_map: 'Optional[dict]' = None, # <<<<<<<<<<<<<< | |
+ * resource: 'Optional[object]' = None, | |
+ * uri_template: 'Optional[str]' = None, | |
+ */ | |
values[2] = ((PyObject *)((PyObject *)Py_None)); | |
+ | |
+ /* "falcon/routing/compiled.py":667 | |
+ * raw_segment: str, | |
+ * method_map: 'Optional[dict]' = None, | |
+ * resource: 'Optional[object]' = None, # <<<<<<<<<<<<<< | |
+ * uri_template: 'Optional[str]' = None, | |
+ * ): | |
+ */ | |
values[3] = ((PyObject *)((PyObject *)Py_None)); | |
+ | |
+ /* "falcon/routing/compiled.py":668 | |
+ * method_map: 'Optional[dict]' = None, | |
+ * resource: 'Optional[object]' = None, | |
+ * uri_template: 'Optional[str]' = None, # <<<<<<<<<<<<<< | |
+ * ): | |
+ * self.children: 'List[CompiledRouterNode]' = [] | |
+ */ | |
values[4] = ((PyObject *)((PyObject *)Py_None)); | |
if (__pyx_kwds) { | |
Py_ssize_t kw_args; | |
@@ -13398,40 +13772,40 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 650, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 663, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_raw_segment)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 650, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 663, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 5, 1); __PYX_ERR(0, 650, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 5, 1); __PYX_ERR(0, 663, __pyx_L3_error) | |
} | |
CYTHON_FALLTHROUGH; | |
case 2: | |
if (kw_args > 0) { | |
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_method_map); | |
if (value) { values[2] = value; kw_args--; } | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 650, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 663, __pyx_L3_error) | |
} | |
CYTHON_FALLTHROUGH; | |
case 3: | |
if (kw_args > 0) { | |
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_resource); | |
if (value) { values[3] = value; kw_args--; } | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 650, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 663, __pyx_L3_error) | |
} | |
CYTHON_FALLTHROUGH; | |
case 4: | |
if (kw_args > 0) { | |
PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_uri_template); | |
if (value) { values[4] = value; kw_args--; } | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 650, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 663, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 650, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 663, __pyx_L3_error) | |
} | |
} else { | |
switch (__pyx_nargs) { | |
@@ -13448,22 +13822,35 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
} | |
__pyx_v_self = values[0]; | |
- __pyx_v_raw_segment = values[1]; | |
+ __pyx_v_raw_segment = ((PyObject*)values[1]); | |
__pyx_v_method_map = values[2]; | |
__pyx_v_resource = values[3]; | |
__pyx_v_uri_template = values[4]; | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 5, __pyx_nargs); __PYX_ERR(0, 650, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 5, __pyx_nargs); __PYX_ERR(0, 663, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled.CompiledRouterNode.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
return NULL; | |
__pyx_L4_argument_unpacking_done:; | |
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_raw_segment), (&PyUnicode_Type), 1, "raw_segment", 1))) __PYX_ERR(0, 665, __pyx_L1_error) | |
__pyx_r = __pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode___init__(__pyx_self, __pyx_v_self, __pyx_v_raw_segment, __pyx_v_method_map, __pyx_v_resource, __pyx_v_uri_template); | |
+ /* "falcon/routing/compiled.py":663 | |
+ * """Represents a single URI segment in a URI.""" | |
+ * | |
+ * def __init__( # <<<<<<<<<<<<<< | |
+ * self, | |
+ * raw_segment: str, | |
+ */ | |
+ | |
/* function exit code */ | |
+ goto __pyx_L0; | |
+ __pyx_L1_error:; | |
+ __pyx_r = NULL; | |
+ __pyx_L0:; | |
__Pyx_RefNannyFinishContext(); | |
return __pyx_r; | |
} | |
@@ -13492,121 +13879,121 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode___init | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("__init__", 0); | |
- /* "falcon/routing/compiled.py":651 | |
- * | |
- * def __init__(self, raw_segment, method_map=None, resource=None, uri_template=None): | |
- * self.children = [] # <<<<<<<<<<<<<< | |
+ /* "falcon/routing/compiled.py":670 | |
+ * uri_template: 'Optional[str]' = None, | |
+ * ): | |
+ * self.children: 'List[CompiledRouterNode]' = [] # <<<<<<<<<<<<<< | |
* | |
* self.raw_segment = raw_segment | |
*/ | |
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 651, __pyx_L1_error) | |
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 670, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_children, __pyx_t_1) < 0) __PYX_ERR(0, 651, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_children, __pyx_t_1) < 0) __PYX_ERR(0, 670, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":653 | |
- * self.children = [] | |
+ /* "falcon/routing/compiled.py":672 | |
+ * self.children: 'List[CompiledRouterNode]' = [] | |
* | |
* self.raw_segment = raw_segment # <<<<<<<<<<<<<< | |
* self.method_map = method_map | |
* self.resource = resource | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_raw_segment, __pyx_v_raw_segment) < 0) __PYX_ERR(0, 653, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_raw_segment, __pyx_v_raw_segment) < 0) __PYX_ERR(0, 672, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":654 | |
+ /* "falcon/routing/compiled.py":673 | |
* | |
* self.raw_segment = raw_segment | |
* self.method_map = method_map # <<<<<<<<<<<<<< | |
* self.resource = resource | |
* self.uri_template = uri_template | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_method_map, __pyx_v_method_map) < 0) __PYX_ERR(0, 654, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_method_map, __pyx_v_method_map) < 0) __PYX_ERR(0, 673, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":655 | |
+ /* "falcon/routing/compiled.py":674 | |
* self.raw_segment = raw_segment | |
* self.method_map = method_map | |
* self.resource = resource # <<<<<<<<<<<<<< | |
* self.uri_template = uri_template | |
* | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_resource, __pyx_v_resource) < 0) __PYX_ERR(0, 655, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_resource, __pyx_v_resource) < 0) __PYX_ERR(0, 674, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":656 | |
+ /* "falcon/routing/compiled.py":675 | |
* self.method_map = method_map | |
* self.resource = resource | |
* self.uri_template = uri_template # <<<<<<<<<<<<<< | |
* | |
* self.is_var = False | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_uri_template, __pyx_v_uri_template) < 0) __PYX_ERR(0, 656, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_uri_template, __pyx_v_uri_template) < 0) __PYX_ERR(0, 675, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":658 | |
+ /* "falcon/routing/compiled.py":677 | |
* self.uri_template = uri_template | |
* | |
* self.is_var = False # <<<<<<<<<<<<<< | |
* self.is_complex = False | |
* self.num_fields = 0 | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_is_var, Py_False) < 0) __PYX_ERR(0, 658, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_is_var, Py_False) < 0) __PYX_ERR(0, 677, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":659 | |
+ /* "falcon/routing/compiled.py":678 | |
* | |
* self.is_var = False | |
* self.is_complex = False # <<<<<<<<<<<<<< | |
* self.num_fields = 0 | |
* | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_is_complex, Py_False) < 0) __PYX_ERR(0, 659, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_is_complex, Py_False) < 0) __PYX_ERR(0, 678, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":660 | |
+ /* "falcon/routing/compiled.py":679 | |
* self.is_var = False | |
* self.is_complex = False | |
* self.num_fields = 0 # <<<<<<<<<<<<<< | |
* | |
* # TODO(kgriffs): Rename these since the docs talk about "fields" | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_num_fields, __pyx_int_0) < 0) __PYX_ERR(0, 660, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_num_fields, __pyx_int_0) < 0) __PYX_ERR(0, 679, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":664 | |
+ /* "falcon/routing/compiled.py":683 | |
* # TODO(kgriffs): Rename these since the docs talk about "fields" | |
* # or "field expressions", not "vars" or "variables". | |
- * self.var_name = None # <<<<<<<<<<<<<< | |
- * self.var_pattern = None | |
- * self.var_converter_map = [] | |
+ * self.var_name: 'Optional[str]' = None # <<<<<<<<<<<<<< | |
+ * self.var_pattern: 'Optional[Pattern]' = None | |
+ * self.var_converter_map: 'List[tuple]' = [] | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_var_name, Py_None) < 0) __PYX_ERR(0, 664, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_var_name, Py_None) < 0) __PYX_ERR(0, 683, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":665 | |
+ /* "falcon/routing/compiled.py":684 | |
* # or "field expressions", not "vars" or "variables". | |
- * self.var_name = None | |
- * self.var_pattern = None # <<<<<<<<<<<<<< | |
- * self.var_converter_map = [] | |
+ * self.var_name: 'Optional[str]' = None | |
+ * self.var_pattern: 'Optional[Pattern]' = None # <<<<<<<<<<<<<< | |
+ * self.var_converter_map: 'List[tuple]' = [] | |
* | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_var_pattern, Py_None) < 0) __PYX_ERR(0, 665, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_var_pattern, Py_None) < 0) __PYX_ERR(0, 684, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":666 | |
- * self.var_name = None | |
- * self.var_pattern = None | |
- * self.var_converter_map = [] # <<<<<<<<<<<<<< | |
+ /* "falcon/routing/compiled.py":685 | |
+ * self.var_name: 'Optional[str]' = None | |
+ * self.var_pattern: 'Optional[Pattern]' = None | |
+ * self.var_converter_map: 'List[tuple]' = [] # <<<<<<<<<<<<<< | |
* | |
* # NOTE(kgriffs): CompiledRouter.add_route validates field names, | |
*/ | |
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 666, __pyx_L1_error) | |
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 685, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_var_converter_map, __pyx_t_1) < 0) __PYX_ERR(0, 666, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_var_converter_map, __pyx_t_1) < 0) __PYX_ERR(0, 685, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":671 | |
+ /* "falcon/routing/compiled.py":690 | |
* # so here we can just assume they are OK and use the simple | |
* # _FIELD_PATTERN to match them. | |
* matches = list(_FIELD_PATTERN.finditer(raw_segment)) # <<<<<<<<<<<<<< | |
* | |
* if not matches: | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_FIELD_PATTERN); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 671, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_FIELD_PATTERN); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 690, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_finditer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 671, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_finditer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 690, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
__pyx_t_2 = NULL; | |
@@ -13625,17 +14012,17 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode___init | |
PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_raw_segment}; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 671, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 690, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
- __pyx_t_3 = __Pyx_PySequence_ListKeepNew(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 671, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PySequence_ListKeepNew(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 690, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
__pyx_v_matches = ((PyObject*)__pyx_t_3); | |
__pyx_t_3 = 0; | |
- /* "falcon/routing/compiled.py":673 | |
+ /* "falcon/routing/compiled.py":692 | |
* matches = list(_FIELD_PATTERN.finditer(raw_segment)) | |
* | |
* if not matches: # <<<<<<<<<<<<<< | |
@@ -13646,16 +14033,16 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode___init | |
__pyx_t_6 = ((!__pyx_t_5) != 0); | |
if (__pyx_t_6) { | |
- /* "falcon/routing/compiled.py":674 | |
+ /* "falcon/routing/compiled.py":693 | |
* | |
* if not matches: | |
* self.is_var = False # <<<<<<<<<<<<<< | |
* else: | |
* self.is_var = True | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_is_var, Py_False) < 0) __PYX_ERR(0, 674, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_is_var, Py_False) < 0) __PYX_ERR(0, 693, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":673 | |
+ /* "falcon/routing/compiled.py":692 | |
* matches = list(_FIELD_PATTERN.finditer(raw_segment)) | |
* | |
* if not matches: # <<<<<<<<<<<<<< | |
@@ -13665,7 +14052,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode___init | |
goto __pyx_L3; | |
} | |
- /* "falcon/routing/compiled.py":676 | |
+ /* "falcon/routing/compiled.py":695 | |
* self.is_var = False | |
* else: | |
* self.is_var = True # <<<<<<<<<<<<<< | |
@@ -13673,22 +14060,22 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode___init | |
* | |
*/ | |
/*else*/ { | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_is_var, Py_True) < 0) __PYX_ERR(0, 676, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_is_var, Py_True) < 0) __PYX_ERR(0, 695, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":677 | |
+ /* "falcon/routing/compiled.py":696 | |
* else: | |
* self.is_var = True | |
* self.num_fields = len(matches) # <<<<<<<<<<<<<< | |
* | |
* for field in matches: | |
*/ | |
- __pyx_t_7 = PyList_GET_SIZE(__pyx_v_matches); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 677, __pyx_L1_error) | |
- __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 677, __pyx_L1_error) | |
+ __pyx_t_7 = PyList_GET_SIZE(__pyx_v_matches); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 696, __pyx_L1_error) | |
+ __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 696, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_num_fields, __pyx_t_3) < 0) __PYX_ERR(0, 677, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_num_fields, __pyx_t_3) < 0) __PYX_ERR(0, 696, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- /* "falcon/routing/compiled.py":679 | |
+ /* "falcon/routing/compiled.py":698 | |
* self.num_fields = len(matches) | |
* | |
* for field in matches: # <<<<<<<<<<<<<< | |
@@ -13699,22 +14086,22 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode___init | |
for (;;) { | |
if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_3)) break; | |
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
- __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely((0 < 0))) __PYX_ERR(0, 679, __pyx_L1_error) | |
+ __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely((0 < 0))) __PYX_ERR(0, 698, __pyx_L1_error) | |
#else | |
- __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 679, __pyx_L1_error) | |
+ __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 698, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
#endif | |
__Pyx_XDECREF_SET(__pyx_v_field, __pyx_t_1); | |
__pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":684 | |
+ /* "falcon/routing/compiled.py":703 | |
* # that don't match a known converter, so if a name is | |
* # given, we can just go ahead and use it. | |
* if field.group('cname'): # <<<<<<<<<<<<<< | |
* self.var_converter_map.append( | |
* ( | |
*/ | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_field, __pyx_n_s_group); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 684, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_field, __pyx_n_s_group); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 703, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__pyx_t_8 = NULL; | |
__pyx_t_4 = 0; | |
@@ -13732,32 +14119,32 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode___init | |
PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_n_u_cname}; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 684, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 703, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 684, __pyx_L1_error) | |
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 703, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
if (__pyx_t_6) { | |
- /* "falcon/routing/compiled.py":685 | |
+ /* "falcon/routing/compiled.py":704 | |
* # given, we can just go ahead and use it. | |
* if field.group('cname'): | |
* self.var_converter_map.append( # <<<<<<<<<<<<<< | |
* ( | |
* field.group('fname'), | |
*/ | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_var_converter_map); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 685, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_var_converter_map); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 704, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- /* "falcon/routing/compiled.py":687 | |
+ /* "falcon/routing/compiled.py":706 | |
* self.var_converter_map.append( | |
* ( | |
* field.group('fname'), # <<<<<<<<<<<<<< | |
* field.group('cname'), | |
* field.group('argstr'), | |
*/ | |
- __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_field, __pyx_n_s_group); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 687, __pyx_L1_error) | |
+ __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_field, __pyx_n_s_group); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 706, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_8); | |
__pyx_t_9 = NULL; | |
__pyx_t_4 = 0; | |
@@ -13775,19 +14162,19 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode___init | |
PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_n_u_fname}; | |
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; | |
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 687, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 706, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
} | |
- /* "falcon/routing/compiled.py":688 | |
+ /* "falcon/routing/compiled.py":707 | |
* ( | |
* field.group('fname'), | |
* field.group('cname'), # <<<<<<<<<<<<<< | |
* field.group('argstr'), | |
* ) | |
*/ | |
- __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_field, __pyx_n_s_group); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 688, __pyx_L1_error) | |
+ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_field, __pyx_n_s_group); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 707, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_9); | |
__pyx_t_10 = NULL; | |
__pyx_t_4 = 0; | |
@@ -13805,19 +14192,19 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode___init | |
PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_n_u_cname}; | |
__pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; | |
- if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 688, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 707, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_8); | |
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
} | |
- /* "falcon/routing/compiled.py":689 | |
+ /* "falcon/routing/compiled.py":708 | |
* field.group('fname'), | |
* field.group('cname'), | |
* field.group('argstr'), # <<<<<<<<<<<<<< | |
* ) | |
* ) | |
*/ | |
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_field, __pyx_n_s_group); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 689, __pyx_L1_error) | |
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_field, __pyx_n_s_group); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 708, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_10); | |
__pyx_t_11 = NULL; | |
__pyx_t_4 = 0; | |
@@ -13835,19 +14222,19 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode___init | |
PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_n_u_argstr}; | |
__pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; | |
- if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 689, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 708, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_9); | |
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; | |
} | |
- /* "falcon/routing/compiled.py":687 | |
+ /* "falcon/routing/compiled.py":706 | |
* self.var_converter_map.append( | |
* ( | |
* field.group('fname'), # <<<<<<<<<<<<<< | |
* field.group('cname'), | |
* field.group('argstr'), | |
*/ | |
- __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 687, __pyx_L1_error) | |
+ __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 706, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_10); | |
__Pyx_GIVEREF(__pyx_t_2); | |
PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_2); | |
@@ -13859,18 +14246,18 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode___init | |
__pyx_t_8 = 0; | |
__pyx_t_9 = 0; | |
- /* "falcon/routing/compiled.py":685 | |
+ /* "falcon/routing/compiled.py":704 | |
* # given, we can just go ahead and use it. | |
* if field.group('cname'): | |
* self.var_converter_map.append( # <<<<<<<<<<<<<< | |
* ( | |
* field.group('fname'), | |
*/ | |
- __pyx_t_12 = __Pyx_PyObject_Append(__pyx_t_1, __pyx_t_10); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(0, 685, __pyx_L1_error) | |
+ __pyx_t_12 = __Pyx_PyObject_Append(__pyx_t_1, __pyx_t_10); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(0, 704, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; | |
- /* "falcon/routing/compiled.py":684 | |
+ /* "falcon/routing/compiled.py":703 | |
* # that don't match a known converter, so if a name is | |
* # given, we can just go ahead and use it. | |
* if field.group('cname'): # <<<<<<<<<<<<<< | |
@@ -13879,7 +14266,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode___init | |
*/ | |
} | |
- /* "falcon/routing/compiled.py":679 | |
+ /* "falcon/routing/compiled.py":698 | |
* self.num_fields = len(matches) | |
* | |
* for field in matches: # <<<<<<<<<<<<<< | |
@@ -13889,16 +14276,16 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode___init | |
} | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- /* "falcon/routing/compiled.py":693 | |
+ /* "falcon/routing/compiled.py":712 | |
* ) | |
* | |
* if matches[0].span() == (0, len(raw_segment)): # <<<<<<<<<<<<<< | |
* # NOTE(kgriffs): Single field, spans entire segment | |
* assert len(matches) == 1 | |
*/ | |
- __pyx_t_10 = __Pyx_GetItemInt_List(__pyx_v_matches, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 693, __pyx_L1_error) | |
+ __pyx_t_10 = __Pyx_GetItemInt_List(__pyx_v_matches, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 712, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_10); | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_span); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 693, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_span); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 712, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; | |
__pyx_t_10 = NULL; | |
@@ -13917,14 +14304,18 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode___init | |
PyObject *__pyx_callargs[1] = {__pyx_t_10, }; | |
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; | |
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 693, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 712, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
} | |
- __pyx_t_7 = PyObject_Length(__pyx_v_raw_segment); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 693, __pyx_L1_error) | |
- __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 693, __pyx_L1_error) | |
+ if (unlikely(__pyx_v_raw_segment == Py_None)) { | |
+ PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); | |
+ __PYX_ERR(0, 712, __pyx_L1_error) | |
+ } | |
+ __pyx_t_7 = __Pyx_PyUnicode_GET_LENGTH(__pyx_v_raw_segment); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 712, __pyx_L1_error) | |
+ __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 712, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 693, __pyx_L1_error) | |
+ __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 712, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_10); | |
__Pyx_INCREF(__pyx_int_0); | |
__Pyx_GIVEREF(__pyx_int_0); | |
@@ -13932,14 +14323,14 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode___init | |
__Pyx_GIVEREF(__pyx_t_1); | |
PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_1); | |
__pyx_t_1 = 0; | |
- __pyx_t_1 = PyObject_RichCompare(__pyx_t_3, __pyx_t_10, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 693, __pyx_L1_error) | |
+ __pyx_t_1 = PyObject_RichCompare(__pyx_t_3, __pyx_t_10, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 712, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; | |
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 693, __pyx_L1_error) | |
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 712, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
if (__pyx_t_6) { | |
- /* "falcon/routing/compiled.py":695 | |
+ /* "falcon/routing/compiled.py":714 | |
* if matches[0].span() == (0, len(raw_segment)): | |
* # NOTE(kgriffs): Single field, spans entire segment | |
* assert len(matches) == 1 # <<<<<<<<<<<<<< | |
@@ -13948,46 +14339,46 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode___init | |
*/ | |
#ifndef CYTHON_WITHOUT_ASSERTIONS | |
if (unlikely(!Py_OptimizeFlag)) { | |
- __pyx_t_7 = PyList_GET_SIZE(__pyx_v_matches); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 695, __pyx_L1_error) | |
+ __pyx_t_7 = PyList_GET_SIZE(__pyx_v_matches); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 714, __pyx_L1_error) | |
__pyx_t_6 = ((__pyx_t_7 == 1) != 0); | |
if (unlikely(!__pyx_t_6)) { | |
__Pyx_Raise(__pyx_builtin_AssertionError, 0, 0, 0); | |
- __PYX_ERR(0, 695, __pyx_L1_error) | |
+ __PYX_ERR(0, 714, __pyx_L1_error) | |
} | |
} | |
#else | |
- if ((1)); else __PYX_ERR(0, 695, __pyx_L1_error) | |
+ if ((1)); else __PYX_ERR(0, 714, __pyx_L1_error) | |
#endif | |
- /* "falcon/routing/compiled.py":700 | |
+ /* "falcon/routing/compiled.py":719 | |
* # contains a single field. Rename this variable to make | |
* # it more descriptive. | |
* self.is_complex = False # <<<<<<<<<<<<<< | |
* | |
* field = matches[0] | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_is_complex, Py_False) < 0) __PYX_ERR(0, 700, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_is_complex, Py_False) < 0) __PYX_ERR(0, 719, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":702 | |
+ /* "falcon/routing/compiled.py":721 | |
* self.is_complex = False | |
* | |
* field = matches[0] # <<<<<<<<<<<<<< | |
* self.var_name = field.group('fname') | |
* | |
*/ | |
- __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_matches, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 702, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_matches, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 721, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_XDECREF_SET(__pyx_v_field, __pyx_t_1); | |
__pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":703 | |
+ /* "falcon/routing/compiled.py":722 | |
* | |
* field = matches[0] | |
* self.var_name = field.group('fname') # <<<<<<<<<<<<<< | |
* | |
* else: | |
*/ | |
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_field, __pyx_n_s_group); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 703, __pyx_L1_error) | |
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_field, __pyx_n_s_group); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 722, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_10); | |
__pyx_t_3 = NULL; | |
__pyx_t_4 = 0; | |
@@ -14005,14 +14396,14 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode___init | |
PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_n_u_fname}; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 703, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 722, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; | |
} | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_var_name, __pyx_t_1) < 0) __PYX_ERR(0, 703, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_var_name, __pyx_t_1) < 0) __PYX_ERR(0, 722, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":693 | |
+ /* "falcon/routing/compiled.py":712 | |
* ) | |
* | |
* if matches[0].span() == (0, len(raw_segment)): # <<<<<<<<<<<<<< | |
@@ -14022,7 +14413,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode___init | |
goto __pyx_L7; | |
} | |
- /* "falcon/routing/compiled.py":725 | |
+ /* "falcon/routing/compiled.py":744 | |
* # group-escape sequence. So we add an extra backslash to | |
* # trick the parser into doing the right thing. | |
* escaped_segment = re.sub( # <<<<<<<<<<<<<< | |
@@ -14030,13 +14421,13 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode___init | |
* ) | |
*/ | |
/*else*/ { | |
- __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_re); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 725, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_re); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 744, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_10); | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_sub); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 725, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_sub); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 744, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; | |
- /* "falcon/routing/compiled.py":726 | |
+ /* "falcon/routing/compiled.py":745 | |
* # trick the parser into doing the right thing. | |
* escaped_segment = re.sub( | |
* r'[\.\(\)\[\]\?\$\*\+\^\|]', r'\\\g<0>', raw_segment # <<<<<<<<<<<<<< | |
@@ -14056,26 +14447,26 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode___init | |
} | |
} | |
{ | |
- PyObject *__pyx_callargs[4] = {__pyx_t_10, __pyx_kp_u__14, __pyx_kp_u_g_0, __pyx_v_raw_segment}; | |
+ PyObject *__pyx_callargs[4] = {__pyx_t_10, __pyx_kp_u__15, __pyx_kp_u_g_0, __pyx_v_raw_segment}; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 3+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 725, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 744, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
__pyx_v_escaped_segment = __pyx_t_1; | |
__pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":729 | |
+ /* "falcon/routing/compiled.py":748 | |
* ) | |
* | |
* pattern_text = _FIELD_PATTERN.sub(r'(?P<\2>.+)', escaped_segment) # <<<<<<<<<<<<<< | |
* pattern_text = '^' + pattern_text + '$' | |
* | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_FIELD_PATTERN); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 729, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_FIELD_PATTERN); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 748, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_sub); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 729, __pyx_L1_error) | |
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_sub); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 748, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_10); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
__pyx_t_3 = NULL; | |
@@ -14094,47 +14485,47 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode___init | |
PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_kp_u_P_2, __pyx_v_escaped_segment}; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 729, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 748, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; | |
} | |
__pyx_v_pattern_text = __pyx_t_1; | |
__pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":730 | |
+ /* "falcon/routing/compiled.py":749 | |
* | |
* pattern_text = _FIELD_PATTERN.sub(r'(?P<\2>.+)', escaped_segment) | |
* pattern_text = '^' + pattern_text + '$' # <<<<<<<<<<<<<< | |
* | |
* self.is_complex = True | |
*/ | |
- __pyx_t_1 = PyNumber_Add(__pyx_kp_u__15, __pyx_v_pattern_text); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 730, __pyx_L1_error) | |
+ __pyx_t_1 = PyNumber_Add(__pyx_kp_u__16, __pyx_v_pattern_text); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 749, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- __pyx_t_10 = PyNumber_Add(__pyx_t_1, __pyx_kp_u__16); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 730, __pyx_L1_error) | |
+ __pyx_t_10 = PyNumber_Add(__pyx_t_1, __pyx_kp_u__17); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 749, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_10); | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
__Pyx_DECREF_SET(__pyx_v_pattern_text, __pyx_t_10); | |
__pyx_t_10 = 0; | |
- /* "falcon/routing/compiled.py":732 | |
+ /* "falcon/routing/compiled.py":751 | |
* pattern_text = '^' + pattern_text + '$' | |
* | |
* self.is_complex = True # <<<<<<<<<<<<<< | |
* self.var_pattern = re.compile(pattern_text) | |
* | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_is_complex, Py_True) < 0) __PYX_ERR(0, 732, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_is_complex, Py_True) < 0) __PYX_ERR(0, 751, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":733 | |
+ /* "falcon/routing/compiled.py":752 | |
* | |
* self.is_complex = True | |
* self.var_pattern = re.compile(pattern_text) # <<<<<<<<<<<<<< | |
* | |
* if self.is_complex: | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_re); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 733, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_re); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 752, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_compile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 733, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_compile); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 752, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
__pyx_t_1 = NULL; | |
@@ -14153,53 +14544,53 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode___init | |
PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_pattern_text}; | |
__pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 733, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 752, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_10); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_var_pattern, __pyx_t_10) < 0) __PYX_ERR(0, 733, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_var_pattern, __pyx_t_10) < 0) __PYX_ERR(0, 752, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; | |
} | |
__pyx_L7:; | |
} | |
__pyx_L3:; | |
- /* "falcon/routing/compiled.py":735 | |
+ /* "falcon/routing/compiled.py":754 | |
* self.var_pattern = re.compile(pattern_text) | |
* | |
* if self.is_complex: # <<<<<<<<<<<<<< | |
* assert self.is_var | |
* | |
*/ | |
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_is_complex); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 735, __pyx_L1_error) | |
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_is_complex); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 754, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_10); | |
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 735, __pyx_L1_error) | |
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 754, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; | |
if (__pyx_t_6) { | |
- /* "falcon/routing/compiled.py":736 | |
+ /* "falcon/routing/compiled.py":755 | |
* | |
* if self.is_complex: | |
* assert self.is_var # <<<<<<<<<<<<<< | |
* | |
- * def matches(self, segment): | |
+ * def matches(self, segment: str): | |
*/ | |
#ifndef CYTHON_WITHOUT_ASSERTIONS | |
if (unlikely(!Py_OptimizeFlag)) { | |
- __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_is_var); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 736, __pyx_L1_error) | |
+ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_is_var); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 755, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_10); | |
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 736, __pyx_L1_error) | |
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 755, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; | |
if (unlikely(!__pyx_t_6)) { | |
__Pyx_Raise(__pyx_builtin_AssertionError, 0, 0, 0); | |
- __PYX_ERR(0, 736, __pyx_L1_error) | |
+ __PYX_ERR(0, 755, __pyx_L1_error) | |
} | |
} | |
#else | |
- if ((1)); else __PYX_ERR(0, 736, __pyx_L1_error) | |
+ if ((1)); else __PYX_ERR(0, 755, __pyx_L1_error) | |
#endif | |
- /* "falcon/routing/compiled.py":735 | |
+ /* "falcon/routing/compiled.py":754 | |
* self.var_pattern = re.compile(pattern_text) | |
* | |
* if self.is_complex: # <<<<<<<<<<<<<< | |
@@ -14208,12 +14599,12 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode___init | |
*/ | |
} | |
- /* "falcon/routing/compiled.py":650 | |
+ /* "falcon/routing/compiled.py":663 | |
* """Represents a single URI segment in a URI.""" | |
* | |
- * def __init__(self, raw_segment, method_map=None, resource=None, uri_template=None): # <<<<<<<<<<<<<< | |
- * self.children = [] | |
- * | |
+ * def __init__( # <<<<<<<<<<<<<< | |
+ * self, | |
+ * raw_segment: str, | |
*/ | |
/* function exit code */ | |
@@ -14239,10 +14630,10 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode___init | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":738 | |
+/* "falcon/routing/compiled.py":757 | |
* assert self.is_var | |
* | |
- * def matches(self, segment): # <<<<<<<<<<<<<< | |
+ * def matches(self, segment: str): # <<<<<<<<<<<<<< | |
* """Return True if this node matches the supplied template segment.""" | |
* | |
*/ | |
@@ -14297,19 +14688,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 738, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 757, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_segment)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 738, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 757, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("matches", 1, 2, 2, 1); __PYX_ERR(0, 738, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("matches", 1, 2, 2, 1); __PYX_ERR(0, 757, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "matches") < 0)) __PYX_ERR(0, 738, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "matches") < 0)) __PYX_ERR(0, 757, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -14318,19 +14709,24 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); | |
} | |
__pyx_v_self = values[0]; | |
- __pyx_v_segment = values[1]; | |
+ __pyx_v_segment = ((PyObject*)values[1]); | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("matches", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 738, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("matches", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 757, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled.CompiledRouterNode.matches", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
return NULL; | |
__pyx_L4_argument_unpacking_done:; | |
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_segment), (&PyUnicode_Type), 1, "segment", 1))) __PYX_ERR(0, 757, __pyx_L1_error) | |
__pyx_r = __pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode_2matches(__pyx_self, __pyx_v_self, __pyx_v_segment); | |
/* function exit code */ | |
+ goto __pyx_L0; | |
+ __pyx_L1_error:; | |
+ __pyx_r = NULL; | |
+ __pyx_L0:; | |
__Pyx_RefNannyFinishContext(); | |
return __pyx_r; | |
} | |
@@ -14345,26 +14741,26 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode_2match | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("matches", 0); | |
- /* "falcon/routing/compiled.py":741 | |
+ /* "falcon/routing/compiled.py":760 | |
* """Return True if this node matches the supplied template segment.""" | |
* | |
* return segment == self.raw_segment # <<<<<<<<<<<<<< | |
* | |
- * def conflicts_with(self, segment): | |
+ * def conflicts_with(self, segment: str): | |
*/ | |
__Pyx_XDECREF(__pyx_r); | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_raw_segment); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 741, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_raw_segment); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 760, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- __pyx_t_2 = PyObject_RichCompare(__pyx_v_segment, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 741, __pyx_L1_error) | |
+ __pyx_t_2 = PyObject_RichCompare(__pyx_v_segment, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 760, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
__pyx_r = __pyx_t_2; | |
__pyx_t_2 = 0; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":738 | |
+ /* "falcon/routing/compiled.py":757 | |
* assert self.is_var | |
* | |
- * def matches(self, segment): # <<<<<<<<<<<<<< | |
+ * def matches(self, segment: str): # <<<<<<<<<<<<<< | |
* """Return True if this node matches the supplied template segment.""" | |
* | |
*/ | |
@@ -14381,10 +14777,10 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode_2match | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":743 | |
+/* "falcon/routing/compiled.py":762 | |
* return segment == self.raw_segment | |
* | |
- * def conflicts_with(self, segment): # <<<<<<<<<<<<<< | |
+ * def conflicts_with(self, segment: str): # <<<<<<<<<<<<<< | |
* """Return True if this node conflicts with a given template segment.""" | |
* | |
*/ | |
@@ -14439,19 +14835,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 743, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 762, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_segment)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 743, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 762, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("conflicts_with", 1, 2, 2, 1); __PYX_ERR(0, 743, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("conflicts_with", 1, 2, 2, 1); __PYX_ERR(0, 762, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "conflicts_with") < 0)) __PYX_ERR(0, 743, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "conflicts_with") < 0)) __PYX_ERR(0, 762, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -14460,19 +14856,24 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); | |
} | |
__pyx_v_self = values[0]; | |
- __pyx_v_segment = values[1]; | |
+ __pyx_v_segment = ((PyObject*)values[1]); | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("conflicts_with", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 743, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("conflicts_with", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 762, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled.CompiledRouterNode.conflicts_with", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
return NULL; | |
__pyx_L4_argument_unpacking_done:; | |
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_segment), (&PyUnicode_Type), 1, "segment", 1))) __PYX_ERR(0, 762, __pyx_L1_error) | |
__pyx_r = __pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode_4conflicts_with(__pyx_self, __pyx_v_self, __pyx_v_segment); | |
/* function exit code */ | |
+ goto __pyx_L0; | |
+ __pyx_L1_error:; | |
+ __pyx_r = NULL; | |
+ __pyx_L0:; | |
__Pyx_RefNannyFinishContext(); | |
return __pyx_r; | |
} | |
@@ -14493,7 +14894,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode_4confl | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("conflicts_with", 0); | |
- /* "falcon/routing/compiled.py":750 | |
+ /* "falcon/routing/compiled.py":769 | |
* # segments may conflict, so there isn't any sense in calling | |
* # conflicts_with in that case. | |
* assert not self.matches(segment) # <<<<<<<<<<<<<< | |
@@ -14502,7 +14903,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode_4confl | |
*/ | |
#ifndef CYTHON_WITHOUT_ASSERTIONS | |
if (unlikely(!Py_OptimizeFlag)) { | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_matches); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 750, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_matches); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 769, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__pyx_t_3 = NULL; | |
__pyx_t_4 = 0; | |
@@ -14520,30 +14921,30 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode_4confl | |
PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_segment}; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 750, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 769, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 750, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 769, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
__pyx_t_6 = ((!__pyx_t_5) != 0); | |
if (unlikely(!__pyx_t_6)) { | |
__Pyx_Raise(__pyx_builtin_AssertionError, 0, 0, 0); | |
- __PYX_ERR(0, 750, __pyx_L1_error) | |
+ __PYX_ERR(0, 769, __pyx_L1_error) | |
} | |
} | |
#else | |
- if ((1)); else __PYX_ERR(0, 750, __pyx_L1_error) | |
+ if ((1)); else __PYX_ERR(0, 769, __pyx_L1_error) | |
#endif | |
- /* "falcon/routing/compiled.py":764 | |
+ /* "falcon/routing/compiled.py":783 | |
* # string, string ==> False | |
* # | |
* other = CompiledRouterNode(segment) # <<<<<<<<<<<<<< | |
* | |
* if self.is_var: | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CompiledRouterNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 764, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_CompiledRouterNode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 783, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__pyx_t_3 = NULL; | |
__pyx_t_4 = 0; | |
@@ -14561,53 +14962,53 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode_4confl | |
PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_segment}; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 764, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 783, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
__pyx_v_other = __pyx_t_1; | |
__pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":766 | |
+ /* "falcon/routing/compiled.py":785 | |
* other = CompiledRouterNode(segment) | |
* | |
* if self.is_var: # <<<<<<<<<<<<<< | |
* # NOTE(kgriffs & philiptzou): Falcon does not accept multiple | |
* # simple var nodes exist at the same level as following: | |
*/ | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_is_var); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 766, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_is_var); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 785, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 766, __pyx_L1_error) | |
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 785, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
if (__pyx_t_6) { | |
- /* "falcon/routing/compiled.py":785 | |
+ /* "falcon/routing/compiled.py":804 | |
* # /foo/{thing2}.detail.{ext} | |
* # | |
* if self.is_complex: # <<<<<<<<<<<<<< | |
* if other.is_complex: | |
* return _FIELD_PATTERN.sub( | |
*/ | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_is_complex); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 785, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_is_complex); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 804, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 785, __pyx_L1_error) | |
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 804, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
if (__pyx_t_6) { | |
- /* "falcon/routing/compiled.py":786 | |
+ /* "falcon/routing/compiled.py":805 | |
* # | |
* if self.is_complex: | |
* if other.is_complex: # <<<<<<<<<<<<<< | |
* return _FIELD_PATTERN.sub( | |
* 'v', self.raw_segment | |
*/ | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_is_complex); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 786, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_is_complex); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 805, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 786, __pyx_L1_error) | |
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 805, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
if (__pyx_t_6) { | |
- /* "falcon/routing/compiled.py":787 | |
+ /* "falcon/routing/compiled.py":806 | |
* if self.is_complex: | |
* if other.is_complex: | |
* return _FIELD_PATTERN.sub( # <<<<<<<<<<<<<< | |
@@ -14615,20 +15016,20 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode_4confl | |
* ) == _FIELD_PATTERN.sub('v', segment) | |
*/ | |
__Pyx_XDECREF(__pyx_r); | |
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_FIELD_PATTERN); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 787, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_FIELD_PATTERN); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 806, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_sub); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 787, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_sub); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 806, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- /* "falcon/routing/compiled.py":788 | |
+ /* "falcon/routing/compiled.py":807 | |
* if other.is_complex: | |
* return _FIELD_PATTERN.sub( | |
* 'v', self.raw_segment # <<<<<<<<<<<<<< | |
* ) == _FIELD_PATTERN.sub('v', segment) | |
* | |
*/ | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_raw_segment); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 788, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_raw_segment); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 807, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__pyx_t_7 = NULL; | |
__pyx_t_4 = 0; | |
@@ -14647,21 +15048,21 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode_4confl | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 787, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 806, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
- /* "falcon/routing/compiled.py":789 | |
+ /* "falcon/routing/compiled.py":808 | |
* return _FIELD_PATTERN.sub( | |
* 'v', self.raw_segment | |
* ) == _FIELD_PATTERN.sub('v', segment) # <<<<<<<<<<<<<< | |
* | |
* return False | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_FIELD_PATTERN); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 789, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_FIELD_PATTERN); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 808, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_sub); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 789, __pyx_L1_error) | |
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_sub); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 808, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
__pyx_t_2 = NULL; | |
@@ -14680,18 +15081,18 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode_4confl | |
PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_n_u_v, __pyx_v_segment}; | |
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 789, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 808, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
} | |
- __pyx_t_7 = PyObject_RichCompare(__pyx_t_1, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 789, __pyx_L1_error) | |
+ __pyx_t_7 = PyObject_RichCompare(__pyx_t_1, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 808, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
__pyx_r = __pyx_t_7; | |
__pyx_t_7 = 0; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":786 | |
+ /* "falcon/routing/compiled.py":805 | |
* # | |
* if self.is_complex: | |
* if other.is_complex: # <<<<<<<<<<<<<< | |
@@ -14700,7 +15101,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode_4confl | |
*/ | |
} | |
- /* "falcon/routing/compiled.py":791 | |
+ /* "falcon/routing/compiled.py":810 | |
* ) == _FIELD_PATTERN.sub('v', segment) | |
* | |
* return False # <<<<<<<<<<<<<< | |
@@ -14712,7 +15113,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode_4confl | |
__pyx_r = Py_False; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":785 | |
+ /* "falcon/routing/compiled.py":804 | |
* # /foo/{thing2}.detail.{ext} | |
* # | |
* if self.is_complex: # <<<<<<<<<<<<<< | |
@@ -14721,7 +15122,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode_4confl | |
*/ | |
} | |
- /* "falcon/routing/compiled.py":793 | |
+ /* "falcon/routing/compiled.py":812 | |
* return False | |
* else: | |
* return other.is_var and not other.is_complex # <<<<<<<<<<<<<< | |
@@ -14730,9 +15131,9 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode_4confl | |
*/ | |
/*else*/ { | |
__Pyx_XDECREF(__pyx_r); | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_is_var); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 793, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_is_var); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 812, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 793, __pyx_L1_error) | |
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 812, __pyx_L1_error) | |
if (__pyx_t_6) { | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} else { | |
@@ -14741,12 +15142,12 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode_4confl | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
goto __pyx_L6_bool_binop_done; | |
} | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_is_complex); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 793, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_is_complex); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 812, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 793, __pyx_L1_error) | |
+ __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 812, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
__pyx_t_5 = (!__pyx_t_6); | |
- __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 793, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 812, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__pyx_t_7 = __pyx_t_3; | |
__pyx_t_3 = 0; | |
@@ -14756,7 +15157,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode_4confl | |
goto __pyx_L0; | |
} | |
- /* "falcon/routing/compiled.py":766 | |
+ /* "falcon/routing/compiled.py":785 | |
* other = CompiledRouterNode(segment) | |
* | |
* if self.is_var: # <<<<<<<<<<<<<< | |
@@ -14765,7 +15166,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode_4confl | |
*/ | |
} | |
- /* "falcon/routing/compiled.py":797 | |
+ /* "falcon/routing/compiled.py":816 | |
* # NOTE(kgriffs): If self is a static string match, then all the cases | |
* # for other are False, so no need to check. | |
* return False # <<<<<<<<<<<<<< | |
@@ -14777,10 +15178,10 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode_4confl | |
__pyx_r = Py_False; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":743 | |
+ /* "falcon/routing/compiled.py":762 | |
* return segment == self.raw_segment | |
* | |
- * def conflicts_with(self, segment): # <<<<<<<<<<<<<< | |
+ * def conflicts_with(self, segment: str): # <<<<<<<<<<<<<< | |
* """Return True if this node conflicts with a given template segment.""" | |
* | |
*/ | |
@@ -14800,7 +15201,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_18CompiledRouterNode_4confl | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":803 | |
+/* "falcon/routing/compiled.py":822 | |
* """A dict-like class for storing field converters.""" | |
* | |
* def update(self, other): # <<<<<<<<<<<<<< | |
@@ -14857,19 +15258,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 803, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 822, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_other)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 803, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 822, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, 1); __PYX_ERR(0, 803, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, 1); __PYX_ERR(0, 822, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "update") < 0)) __PYX_ERR(0, 803, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "update") < 0)) __PYX_ERR(0, 822, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -14882,7 +15283,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 803, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("update", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 822, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled.ConverterDict.update", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -14924,7 +15325,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13ConverterDict_update(CYTH | |
__Pyx_RefNannySetupContext("update", 0); | |
__Pyx_INCREF(__pyx_v_other); | |
- /* "falcon/routing/compiled.py":804 | |
+ /* "falcon/routing/compiled.py":823 | |
* | |
* def update(self, other): | |
* try: # <<<<<<<<<<<<<< | |
@@ -14940,14 +15341,14 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13ConverterDict_update(CYTH | |
__Pyx_XGOTREF(__pyx_t_3); | |
/*try:*/ { | |
- /* "falcon/routing/compiled.py":807 | |
+ /* "falcon/routing/compiled.py":826 | |
* # NOTE(kgriffs): If it is a mapping type, it should | |
* # implement keys(). | |
* names = other.keys() # <<<<<<<<<<<<<< | |
* except AttributeError: | |
* # NOTE(kgriffs): Not a mapping type, so assume it is an | |
*/ | |
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_keys); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 807, __pyx_L3_error) | |
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_keys); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 826, __pyx_L3_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__pyx_t_6 = NULL; | |
__pyx_t_7 = 0; | |
@@ -14965,14 +15366,14 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13ConverterDict_update(CYTH | |
PyObject *__pyx_callargs[1] = {__pyx_t_6, }; | |
__pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7); | |
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; | |
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 807, __pyx_L3_error) | |
+ if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 826, __pyx_L3_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
} | |
__pyx_v_names = __pyx_t_4; | |
__pyx_t_4 = 0; | |
- /* "falcon/routing/compiled.py":804 | |
+ /* "falcon/routing/compiled.py":823 | |
* | |
* def update(self, other): | |
* try: # <<<<<<<<<<<<<< | |
@@ -14989,7 +15390,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13ConverterDict_update(CYTH | |
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; | |
- /* "falcon/routing/compiled.py":808 | |
+ /* "falcon/routing/compiled.py":827 | |
* # implement keys(). | |
* names = other.keys() | |
* except AttributeError: # <<<<<<<<<<<<<< | |
@@ -14999,24 +15400,24 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13ConverterDict_update(CYTH | |
__pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_AttributeError); | |
if (__pyx_t_7) { | |
__Pyx_AddTraceback("falcon.routing.compiled.ConverterDict.update", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
- if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(0, 808, __pyx_L5_except_error) | |
+ if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6) < 0) __PYX_ERR(0, 827, __pyx_L5_except_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_GOTREF(__pyx_t_5); | |
__Pyx_GOTREF(__pyx_t_6); | |
- /* "falcon/routing/compiled.py":813 | |
+ /* "falcon/routing/compiled.py":832 | |
* # re-iterable if it is a generator, for when we pass | |
* # it on to the parent's update(). | |
* other = list(other) # <<<<<<<<<<<<<< | |
* names = [n for n, __ in other] | |
* | |
*/ | |
- __pyx_t_8 = PySequence_List(__pyx_v_other); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 813, __pyx_L5_except_error) | |
+ __pyx_t_8 = PySequence_List(__pyx_v_other); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 832, __pyx_L5_except_error) | |
__Pyx_GOTREF(__pyx_t_8); | |
__Pyx_DECREF_SET(__pyx_v_other, __pyx_t_8); | |
__pyx_t_8 = 0; | |
- /* "falcon/routing/compiled.py":814 | |
+ /* "falcon/routing/compiled.py":833 | |
* # it on to the parent's update(). | |
* other = list(other) | |
* names = [n for n, __ in other] # <<<<<<<<<<<<<< | |
@@ -15024,32 +15425,32 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13ConverterDict_update(CYTH | |
* for n in names: | |
*/ | |
{ /* enter inner scope */ | |
- __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 814, __pyx_L13_error) | |
+ __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 833, __pyx_L13_error) | |
__Pyx_GOTREF(__pyx_t_8); | |
if (likely(PyList_CheckExact(__pyx_v_other)) || PyTuple_CheckExact(__pyx_v_other)) { | |
__pyx_t_9 = __pyx_v_other; __Pyx_INCREF(__pyx_t_9); __pyx_t_10 = 0; | |
__pyx_t_11 = NULL; | |
} else { | |
- __pyx_t_10 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_v_other); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 814, __pyx_L13_error) | |
+ __pyx_t_10 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_v_other); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 833, __pyx_L13_error) | |
__Pyx_GOTREF(__pyx_t_9); | |
- __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 814, __pyx_L13_error) | |
+ __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 833, __pyx_L13_error) | |
} | |
for (;;) { | |
if (likely(!__pyx_t_11)) { | |
if (likely(PyList_CheckExact(__pyx_t_9))) { | |
if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_9)) break; | |
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
- __pyx_t_12 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_10); __Pyx_INCREF(__pyx_t_12); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(0, 814, __pyx_L13_error) | |
+ __pyx_t_12 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_10); __Pyx_INCREF(__pyx_t_12); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(0, 833, __pyx_L13_error) | |
#else | |
- __pyx_t_12 = PySequence_ITEM(__pyx_t_9, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 814, __pyx_L13_error) | |
+ __pyx_t_12 = PySequence_ITEM(__pyx_t_9, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 833, __pyx_L13_error) | |
__Pyx_GOTREF(__pyx_t_12); | |
#endif | |
} else { | |
if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_9)) break; | |
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
- __pyx_t_12 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_10); __Pyx_INCREF(__pyx_t_12); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(0, 814, __pyx_L13_error) | |
+ __pyx_t_12 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_10); __Pyx_INCREF(__pyx_t_12); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(0, 833, __pyx_L13_error) | |
#else | |
- __pyx_t_12 = PySequence_ITEM(__pyx_t_9, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 814, __pyx_L13_error) | |
+ __pyx_t_12 = PySequence_ITEM(__pyx_t_9, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 833, __pyx_L13_error) | |
__Pyx_GOTREF(__pyx_t_12); | |
#endif | |
} | |
@@ -15059,7 +15460,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13ConverterDict_update(CYTH | |
PyObject* exc_type = PyErr_Occurred(); | |
if (exc_type) { | |
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); | |
- else __PYX_ERR(0, 814, __pyx_L13_error) | |
+ else __PYX_ERR(0, 833, __pyx_L13_error) | |
} | |
break; | |
} | |
@@ -15071,7 +15472,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13ConverterDict_update(CYTH | |
if (unlikely(size != 2)) { | |
if (size > 2) __Pyx_RaiseTooManyValuesError(2); | |
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); | |
- __PYX_ERR(0, 814, __pyx_L13_error) | |
+ __PYX_ERR(0, 833, __pyx_L13_error) | |
} | |
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
if (likely(PyTuple_CheckExact(sequence))) { | |
@@ -15084,15 +15485,15 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13ConverterDict_update(CYTH | |
__Pyx_INCREF(__pyx_t_13); | |
__Pyx_INCREF(__pyx_t_14); | |
#else | |
- __pyx_t_13 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 814, __pyx_L13_error) | |
+ __pyx_t_13 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 833, __pyx_L13_error) | |
__Pyx_GOTREF(__pyx_t_13); | |
- __pyx_t_14 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 814, __pyx_L13_error) | |
+ __pyx_t_14 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 833, __pyx_L13_error) | |
__Pyx_GOTREF(__pyx_t_14); | |
#endif | |
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; | |
} else { | |
Py_ssize_t index = -1; | |
- __pyx_t_15 = PyObject_GetIter(__pyx_t_12); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 814, __pyx_L13_error) | |
+ __pyx_t_15 = PyObject_GetIter(__pyx_t_12); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 833, __pyx_L13_error) | |
__Pyx_GOTREF(__pyx_t_15); | |
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; | |
__pyx_t_16 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_15); | |
@@ -15100,7 +15501,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13ConverterDict_update(CYTH | |
__Pyx_GOTREF(__pyx_t_13); | |
index = 1; __pyx_t_14 = __pyx_t_16(__pyx_t_15); if (unlikely(!__pyx_t_14)) goto __pyx_L16_unpacking_failed; | |
__Pyx_GOTREF(__pyx_t_14); | |
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_16(__pyx_t_15), 2) < 0) __PYX_ERR(0, 814, __pyx_L13_error) | |
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_16(__pyx_t_15), 2) < 0) __PYX_ERR(0, 833, __pyx_L13_error) | |
__pyx_t_16 = NULL; | |
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; | |
goto __pyx_L17_unpacking_done; | |
@@ -15108,14 +15509,14 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13ConverterDict_update(CYTH | |
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; | |
__pyx_t_16 = NULL; | |
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); | |
- __PYX_ERR(0, 814, __pyx_L13_error) | |
+ __PYX_ERR(0, 833, __pyx_L13_error) | |
__pyx_L17_unpacking_done:; | |
} | |
__Pyx_XDECREF_SET(__pyx_8genexpr2__pyx_v_n, __pyx_t_13); | |
__pyx_t_13 = 0; | |
__Pyx_XDECREF_SET(__pyx_8genexpr2__pyx_v___, __pyx_t_14); | |
__pyx_t_14 = 0; | |
- if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_8genexpr2__pyx_v_n))) __PYX_ERR(0, 814, __pyx_L13_error) | |
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_8, (PyObject*)__pyx_8genexpr2__pyx_v_n))) __PYX_ERR(0, 833, __pyx_L13_error) | |
} | |
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
__Pyx_XDECREF(__pyx_8genexpr2__pyx_v___); __pyx_8genexpr2__pyx_v___ = 0; | |
@@ -15137,7 +15538,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13ConverterDict_update(CYTH | |
goto __pyx_L5_except_error; | |
__pyx_L5_except_error:; | |
- /* "falcon/routing/compiled.py":804 | |
+ /* "falcon/routing/compiled.py":823 | |
* | |
* def update(self, other): | |
* try: # <<<<<<<<<<<<<< | |
@@ -15157,7 +15558,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13ConverterDict_update(CYTH | |
__pyx_L8_try_end:; | |
} | |
- /* "falcon/routing/compiled.py":816 | |
+ /* "falcon/routing/compiled.py":835 | |
* names = [n for n, __ in other] | |
* | |
* for n in names: # <<<<<<<<<<<<<< | |
@@ -15168,26 +15569,26 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13ConverterDict_update(CYTH | |
__pyx_t_6 = __pyx_v_names; __Pyx_INCREF(__pyx_t_6); __pyx_t_10 = 0; | |
__pyx_t_11 = NULL; | |
} else { | |
- __pyx_t_10 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_v_names); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 816, __pyx_L1_error) | |
+ __pyx_t_10 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_v_names); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 835, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_6); | |
- __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 816, __pyx_L1_error) | |
+ __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 835, __pyx_L1_error) | |
} | |
for (;;) { | |
if (likely(!__pyx_t_11)) { | |
if (likely(PyList_CheckExact(__pyx_t_6))) { | |
if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_6)) break; | |
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
- __pyx_t_5 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_10); __Pyx_INCREF(__pyx_t_5); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(0, 816, __pyx_L1_error) | |
+ __pyx_t_5 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_10); __Pyx_INCREF(__pyx_t_5); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(0, 835, __pyx_L1_error) | |
#else | |
- __pyx_t_5 = PySequence_ITEM(__pyx_t_6, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 816, __pyx_L1_error) | |
+ __pyx_t_5 = PySequence_ITEM(__pyx_t_6, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 835, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
#endif | |
} else { | |
if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_6)) break; | |
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
- __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_10); __Pyx_INCREF(__pyx_t_5); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(0, 816, __pyx_L1_error) | |
+ __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_10); __Pyx_INCREF(__pyx_t_5); __pyx_t_10++; if (unlikely((0 < 0))) __PYX_ERR(0, 835, __pyx_L1_error) | |
#else | |
- __pyx_t_5 = PySequence_ITEM(__pyx_t_6, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 816, __pyx_L1_error) | |
+ __pyx_t_5 = PySequence_ITEM(__pyx_t_6, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 835, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
#endif | |
} | |
@@ -15197,7 +15598,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13ConverterDict_update(CYTH | |
PyObject* exc_type = PyErr_Occurred(); | |
if (exc_type) { | |
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); | |
- else __PYX_ERR(0, 816, __pyx_L1_error) | |
+ else __PYX_ERR(0, 835, __pyx_L1_error) | |
} | |
break; | |
} | |
@@ -15206,14 +15607,14 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13ConverterDict_update(CYTH | |
__Pyx_XDECREF_SET(__pyx_v_n, __pyx_t_5); | |
__pyx_t_5 = 0; | |
- /* "falcon/routing/compiled.py":817 | |
+ /* "falcon/routing/compiled.py":836 | |
* | |
* for n in names: | |
* self._validate(n) # <<<<<<<<<<<<<< | |
* | |
* UserDict.update(self, other) | |
*/ | |
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_validate); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 817, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_validate); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 836, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__pyx_t_8 = NULL; | |
__pyx_t_7 = 0; | |
@@ -15231,13 +15632,13 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13ConverterDict_update(CYTH | |
PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_v_n}; | |
__pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); | |
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; | |
- if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 817, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 836, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
} | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
- /* "falcon/routing/compiled.py":816 | |
+ /* "falcon/routing/compiled.py":835 | |
* names = [n for n, __ in other] | |
* | |
* for n in names: # <<<<<<<<<<<<<< | |
@@ -15247,16 +15648,16 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13ConverterDict_update(CYTH | |
} | |
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; | |
- /* "falcon/routing/compiled.py":819 | |
+ /* "falcon/routing/compiled.py":838 | |
* self._validate(n) | |
* | |
* UserDict.update(self, other) # <<<<<<<<<<<<<< | |
* | |
* def __setitem__(self, name, converter): | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_UserDict); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 819, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_UserDict); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 838, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
- __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_update); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 819, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_update); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 838, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
__pyx_t_5 = NULL; | |
@@ -15275,13 +15676,13 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13ConverterDict_update(CYTH | |
PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_v_self, __pyx_v_other}; | |
__pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 2+__pyx_t_7); | |
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
- if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 819, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 838, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_6); | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
} | |
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; | |
- /* "falcon/routing/compiled.py":803 | |
+ /* "falcon/routing/compiled.py":822 | |
* """A dict-like class for storing field converters.""" | |
* | |
* def update(self, other): # <<<<<<<<<<<<<< | |
@@ -15315,7 +15716,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13ConverterDict_update(CYTH | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":821 | |
+/* "falcon/routing/compiled.py":840 | |
* UserDict.update(self, other) | |
* | |
* def __setitem__(self, name, converter): # <<<<<<<<<<<<<< | |
@@ -15375,26 +15776,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 821, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 840, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name_2)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 821, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 840, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("__setitem__", 1, 3, 3, 1); __PYX_ERR(0, 821, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__setitem__", 1, 3, 3, 1); __PYX_ERR(0, 840, __pyx_L3_error) | |
} | |
CYTHON_FALLTHROUGH; | |
case 2: | |
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_converter)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 821, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 840, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("__setitem__", 1, 3, 3, 2); __PYX_ERR(0, 821, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__setitem__", 1, 3, 3, 2); __PYX_ERR(0, 840, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setitem__") < 0)) __PYX_ERR(0, 821, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setitem__") < 0)) __PYX_ERR(0, 840, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 3)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -15409,7 +15810,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("__setitem__", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 821, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__setitem__", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 840, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled.ConverterDict.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -15434,14 +15835,14 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13ConverterDict_2__setitem_ | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("__setitem__", 0); | |
- /* "falcon/routing/compiled.py":822 | |
+ /* "falcon/routing/compiled.py":841 | |
* | |
* def __setitem__(self, name, converter): | |
* self._validate(name) # <<<<<<<<<<<<<< | |
* UserDict.__setitem__(self, name, converter) | |
* | |
*/ | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_validate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 822, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_validate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 841, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__pyx_t_3 = NULL; | |
__pyx_t_4 = 0; | |
@@ -15459,22 +15860,22 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13ConverterDict_2__setitem_ | |
PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_name}; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 822, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 841, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":823 | |
+ /* "falcon/routing/compiled.py":842 | |
* def __setitem__(self, name, converter): | |
* self._validate(name) | |
* UserDict.__setitem__(self, name, converter) # <<<<<<<<<<<<<< | |
* | |
* def _validate(self, name): | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_UserDict); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 823, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_UserDict); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 842, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_setitem); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 823, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_setitem); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 842, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
__pyx_t_2 = NULL; | |
@@ -15493,13 +15894,13 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13ConverterDict_2__setitem_ | |
PyObject *__pyx_callargs[4] = {__pyx_t_2, __pyx_v_self, __pyx_v_name, __pyx_v_converter}; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 3+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 823, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 842, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":821 | |
+ /* "falcon/routing/compiled.py":840 | |
* UserDict.update(self, other) | |
* | |
* def __setitem__(self, name, converter): # <<<<<<<<<<<<<< | |
@@ -15522,7 +15923,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13ConverterDict_2__setitem_ | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":825 | |
+/* "falcon/routing/compiled.py":844 | |
* UserDict.__setitem__(self, name, converter) | |
* | |
* def _validate(self, name): # <<<<<<<<<<<<<< | |
@@ -15579,19 +15980,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 825, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 844, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name_2)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 825, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 844, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("_validate", 1, 2, 2, 1); __PYX_ERR(0, 825, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_validate", 1, 2, 2, 1); __PYX_ERR(0, 844, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_validate") < 0)) __PYX_ERR(0, 825, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_validate") < 0)) __PYX_ERR(0, 844, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -15604,7 +16005,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("_validate", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 825, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_validate", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 844, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled.ConverterDict._validate", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -15631,16 +16032,16 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13ConverterDict_4_validate( | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("_validate", 0); | |
- /* "falcon/routing/compiled.py":826 | |
+ /* "falcon/routing/compiled.py":845 | |
* | |
* def _validate(self, name): | |
* if not _IDENTIFIER_PATTERN.match(name): # <<<<<<<<<<<<<< | |
* raise ValueError( | |
* 'Invalid converter name. Names may not be blank, and may ' | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IDENTIFIER_PATTERN); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 826, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IDENTIFIER_PATTERN); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 845, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_match); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 826, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_match); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 845, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
__pyx_t_2 = NULL; | |
@@ -15659,29 +16060,29 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13ConverterDict_4_validate( | |
PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name}; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 826, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 845, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
- __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 826, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(0, 845, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
__pyx_t_6 = ((!__pyx_t_5) != 0); | |
if (unlikely(__pyx_t_6)) { | |
- /* "falcon/routing/compiled.py":827 | |
+ /* "falcon/routing/compiled.py":846 | |
* def _validate(self, name): | |
* if not _IDENTIFIER_PATTERN.match(name): | |
* raise ValueError( # <<<<<<<<<<<<<< | |
* 'Invalid converter name. Names may not be blank, and may ' | |
* 'only use ASCII letters, digits, and underscores. Names' | |
*/ | |
- __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 827, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 846, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_Raise(__pyx_t_1, 0, 0, 0); | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- __PYX_ERR(0, 827, __pyx_L1_error) | |
+ __PYX_ERR(0, 846, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":826 | |
+ /* "falcon/routing/compiled.py":845 | |
* | |
* def _validate(self, name): | |
* if not _IDENTIFIER_PATTERN.match(name): # <<<<<<<<<<<<<< | |
@@ -15690,7 +16091,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13ConverterDict_4_validate( | |
*/ | |
} | |
- /* "falcon/routing/compiled.py":825 | |
+ /* "falcon/routing/compiled.py":844 | |
* UserDict.__setitem__(self, name, converter) | |
* | |
* def _validate(self, name): # <<<<<<<<<<<<<< | |
@@ -15713,7 +16114,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13ConverterDict_4_validate( | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":870 | |
+/* "falcon/routing/compiled.py":889 | |
* __slots__ = ('converters',) | |
* | |
* def __init__(self): # <<<<<<<<<<<<<< | |
@@ -15767,12 +16168,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 870, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 889, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 870, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 889, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 1)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -15783,7 +16184,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 870, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 889, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled.CompiledRouterOptions.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -15797,7 +16198,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
static PyObject *__pyx_gb_6falcon_7routing_8compiled_21CompiledRouterOptions_8__init___2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */ | |
-/* "falcon/routing/compiled.py":872 | |
+/* "falcon/routing/compiled.py":891 | |
* def __init__(self): | |
* self.converters = ConverterDict( | |
* (name, converter) for name, converter in converters.BUILTIN # <<<<<<<<<<<<<< | |
@@ -15817,12 +16218,12 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_21CompiledRouterOptions_8__ | |
if (unlikely(!__pyx_cur_scope)) { | |
__pyx_cur_scope = ((struct __pyx_obj_6falcon_7routing_8compiled___pyx_scope_struct_2_genexpr *)Py_None); | |
__Pyx_INCREF(Py_None); | |
- __PYX_ERR(0, 872, __pyx_L1_error) | |
+ __PYX_ERR(0, 891, __pyx_L1_error) | |
} else { | |
__Pyx_GOTREF((PyObject *)__pyx_cur_scope); | |
} | |
{ | |
- __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_6falcon_7routing_8compiled_21CompiledRouterOptions_8__init___2generator, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_CompiledRouterOptions___init___l, __pyx_n_s_falcon_routing_compiled); if (unlikely(!gen)) __PYX_ERR(0, 872, __pyx_L1_error) | |
+ __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_6falcon_7routing_8compiled_21CompiledRouterOptions_8__init___2generator, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_CompiledRouterOptions___init___l, __pyx_n_s_falcon_routing_compiled); if (unlikely(!gen)) __PYX_ERR(0, 891, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_cur_scope); | |
__Pyx_RefNannyFinishContext(); | |
return (PyObject *) gen; | |
@@ -15863,19 +16264,19 @@ static PyObject *__pyx_gb_6falcon_7routing_8compiled_21CompiledRouterOptions_8__ | |
return NULL; | |
} | |
__pyx_L3_first_run:; | |
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 872, __pyx_L1_error) | |
- __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_converters_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 872, __pyx_L1_error) | |
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 891, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_converters_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 891, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_BUILTIN); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 872, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_BUILTIN); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 891, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { | |
__pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = 0; | |
__pyx_t_4 = NULL; | |
} else { | |
- __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 872, __pyx_L1_error) | |
+ __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 891, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- __pyx_t_4 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 872, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 891, __pyx_L1_error) | |
} | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
for (;;) { | |
@@ -15883,17 +16284,17 @@ static PyObject *__pyx_gb_6falcon_7routing_8compiled_21CompiledRouterOptions_8__ | |
if (likely(PyList_CheckExact(__pyx_t_1))) { | |
if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_1)) break; | |
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
- __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely((0 < 0))) __PYX_ERR(0, 872, __pyx_L1_error) | |
+ __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely((0 < 0))) __PYX_ERR(0, 891, __pyx_L1_error) | |
#else | |
- __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 872, __pyx_L1_error) | |
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 891, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
#endif | |
} else { | |
if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_1)) break; | |
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
- __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely((0 < 0))) __PYX_ERR(0, 872, __pyx_L1_error) | |
+ __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely((0 < 0))) __PYX_ERR(0, 891, __pyx_L1_error) | |
#else | |
- __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 872, __pyx_L1_error) | |
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 891, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
#endif | |
} | |
@@ -15903,7 +16304,7 @@ static PyObject *__pyx_gb_6falcon_7routing_8compiled_21CompiledRouterOptions_8__ | |
PyObject* exc_type = PyErr_Occurred(); | |
if (exc_type) { | |
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); | |
- else __PYX_ERR(0, 872, __pyx_L1_error) | |
+ else __PYX_ERR(0, 891, __pyx_L1_error) | |
} | |
break; | |
} | |
@@ -15915,7 +16316,7 @@ static PyObject *__pyx_gb_6falcon_7routing_8compiled_21CompiledRouterOptions_8__ | |
if (unlikely(size != 2)) { | |
if (size > 2) __Pyx_RaiseTooManyValuesError(2); | |
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); | |
- __PYX_ERR(0, 872, __pyx_L1_error) | |
+ __PYX_ERR(0, 891, __pyx_L1_error) | |
} | |
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
if (likely(PyTuple_CheckExact(sequence))) { | |
@@ -15928,15 +16329,15 @@ static PyObject *__pyx_gb_6falcon_7routing_8compiled_21CompiledRouterOptions_8__ | |
__Pyx_INCREF(__pyx_t_5); | |
__Pyx_INCREF(__pyx_t_6); | |
#else | |
- __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 872, __pyx_L1_error) | |
+ __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 891, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
- __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 872, __pyx_L1_error) | |
+ __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 891, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_6); | |
#endif | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} else { | |
Py_ssize_t index = -1; | |
- __pyx_t_7 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 872, __pyx_L1_error) | |
+ __pyx_t_7 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 891, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
__pyx_t_8 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7); | |
@@ -15944,7 +16345,7 @@ static PyObject *__pyx_gb_6falcon_7routing_8compiled_21CompiledRouterOptions_8__ | |
__Pyx_GOTREF(__pyx_t_5); | |
index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L6_unpacking_failed; | |
__Pyx_GOTREF(__pyx_t_6); | |
- if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 872, __pyx_L1_error) | |
+ if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 891, __pyx_L1_error) | |
__pyx_t_8 = NULL; | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
goto __pyx_L7_unpacking_done; | |
@@ -15952,7 +16353,7 @@ static PyObject *__pyx_gb_6falcon_7routing_8compiled_21CompiledRouterOptions_8__ | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
__pyx_t_8 = NULL; | |
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); | |
- __PYX_ERR(0, 872, __pyx_L1_error) | |
+ __PYX_ERR(0, 891, __pyx_L1_error) | |
__pyx_L7_unpacking_done:; | |
} | |
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_name); | |
@@ -15963,7 +16364,7 @@ static PyObject *__pyx_gb_6falcon_7routing_8compiled_21CompiledRouterOptions_8__ | |
__Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_converter, __pyx_t_6); | |
__Pyx_GIVEREF(__pyx_t_6); | |
__pyx_t_6 = 0; | |
- __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 872, __pyx_L1_error) | |
+ __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 891, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_name); | |
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_name); | |
@@ -15989,7 +16390,7 @@ static PyObject *__pyx_gb_6falcon_7routing_8compiled_21CompiledRouterOptions_8__ | |
__Pyx_XGOTREF(__pyx_t_1); | |
__pyx_t_3 = __pyx_cur_scope->__pyx_t_1; | |
__pyx_t_4 = __pyx_cur_scope->__pyx_t_2; | |
- if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 872, __pyx_L1_error) | |
+ if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 891, __pyx_L1_error) | |
} | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope); | |
@@ -16016,7 +16417,7 @@ static PyObject *__pyx_gb_6falcon_7routing_8compiled_21CompiledRouterOptions_8__ | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":870 | |
+/* "falcon/routing/compiled.py":889 | |
* __slots__ = ('converters',) | |
* | |
* def __init__(self): # <<<<<<<<<<<<<< | |
@@ -16038,24 +16439,24 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_21CompiledRouterOptions___i | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("__init__", 0); | |
- /* "falcon/routing/compiled.py":871 | |
+ /* "falcon/routing/compiled.py":890 | |
* | |
* def __init__(self): | |
* self.converters = ConverterDict( # <<<<<<<<<<<<<< | |
* (name, converter) for name, converter in converters.BUILTIN | |
* ) | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_ConverterDict); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 871, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_ConverterDict); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 890, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- /* "falcon/routing/compiled.py":872 | |
+ /* "falcon/routing/compiled.py":891 | |
* def __init__(self): | |
* self.converters = ConverterDict( | |
* (name, converter) for name, converter in converters.BUILTIN # <<<<<<<<<<<<<< | |
* ) | |
* | |
*/ | |
- __pyx_t_3 = __pyx_pf_6falcon_7routing_8compiled_21CompiledRouterOptions_8__init___genexpr(NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 872, __pyx_L1_error) | |
+ __pyx_t_3 = __pyx_pf_6falcon_7routing_8compiled_21CompiledRouterOptions_8__init___genexpr(NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 891, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__pyx_t_4 = NULL; | |
__pyx_t_5 = 0; | |
@@ -16074,22 +16475,22 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_21CompiledRouterOptions___i | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); | |
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 871, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 890, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
- /* "falcon/routing/compiled.py":871 | |
+ /* "falcon/routing/compiled.py":890 | |
* | |
* def __init__(self): | |
* self.converters = ConverterDict( # <<<<<<<<<<<<<< | |
* (name, converter) for name, converter in converters.BUILTIN | |
* ) | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_converters_2, __pyx_t_1) < 0) __PYX_ERR(0, 871, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_converters_2, __pyx_t_1) < 0) __PYX_ERR(0, 890, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":870 | |
+ /* "falcon/routing/compiled.py":889 | |
* __slots__ = ('converters',) | |
* | |
* def __init__(self): # <<<<<<<<<<<<<< | |
@@ -16114,11 +16515,11 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_21CompiledRouterOptions___i | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":890 | |
+/* "falcon/routing/compiled.py":909 | |
* | |
* class _CxParent: | |
* def __init__(self): # <<<<<<<<<<<<<< | |
- * self._children = [] | |
+ * self._children: 'List[_CxElement]' = [] | |
* | |
*/ | |
@@ -16168,12 +16569,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 890, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 909, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 890, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 909, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 1)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -16184,7 +16585,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 890, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 909, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxParent.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -16206,23 +16607,23 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_9_CxParent___init__(CYTHON_ | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("__init__", 0); | |
- /* "falcon/routing/compiled.py":891 | |
+ /* "falcon/routing/compiled.py":910 | |
* class _CxParent: | |
* def __init__(self): | |
- * self._children = [] # <<<<<<<<<<<<<< | |
+ * self._children: 'List[_CxElement]' = [] # <<<<<<<<<<<<<< | |
* | |
- * def append_child(self, construct): | |
+ * def append_child(self, construct: '_CxElement'): | |
*/ | |
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 891, __pyx_L1_error) | |
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 910, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_children_2, __pyx_t_1) < 0) __PYX_ERR(0, 891, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_children_2, __pyx_t_1) < 0) __PYX_ERR(0, 910, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":890 | |
+ /* "falcon/routing/compiled.py":909 | |
* | |
* class _CxParent: | |
* def __init__(self): # <<<<<<<<<<<<<< | |
- * self._children = [] | |
+ * self._children: 'List[_CxElement]' = [] | |
* | |
*/ | |
@@ -16239,10 +16640,10 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_9_CxParent___init__(CYTHON_ | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":893 | |
- * self._children = [] | |
+/* "falcon/routing/compiled.py":912 | |
+ * self._children: 'List[_CxElement]' = [] | |
* | |
- * def append_child(self, construct): # <<<<<<<<<<<<<< | |
+ * def append_child(self, construct: '_CxElement'): # <<<<<<<<<<<<<< | |
* self._children.append(construct) | |
* | |
*/ | |
@@ -16296,19 +16697,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 893, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 912, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_construct)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 893, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 912, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("append_child", 1, 2, 2, 1); __PYX_ERR(0, 893, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("append_child", 1, 2, 2, 1); __PYX_ERR(0, 912, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "append_child") < 0)) __PYX_ERR(0, 893, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "append_child") < 0)) __PYX_ERR(0, 912, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -16321,7 +16722,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("append_child", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 893, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("append_child", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 912, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxParent.append_child", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -16344,22 +16745,22 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_9_CxParent_2append_child(CY | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("append_child", 0); | |
- /* "falcon/routing/compiled.py":894 | |
+ /* "falcon/routing/compiled.py":913 | |
* | |
- * def append_child(self, construct): | |
+ * def append_child(self, construct: '_CxElement'): | |
* self._children.append(construct) # <<<<<<<<<<<<<< | |
* | |
- * def src(self, indentation): | |
+ * def src(self, indentation: int) -> str: | |
*/ | |
- __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_children_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 894, __pyx_L1_error) | |
+ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_children_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 913, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- __pyx_t_2 = __Pyx_PyObject_Append(__pyx_t_1, __pyx_v_construct); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 894, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_Append(__pyx_t_1, __pyx_v_construct); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 913, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":893 | |
- * self._children = [] | |
+ /* "falcon/routing/compiled.py":912 | |
+ * self._children: 'List[_CxElement]' = [] | |
* | |
- * def append_child(self, construct): # <<<<<<<<<<<<<< | |
+ * def append_child(self, construct: '_CxElement'): # <<<<<<<<<<<<<< | |
* self._children.append(construct) | |
* | |
*/ | |
@@ -16377,10 +16778,10 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_9_CxParent_2append_child(CY | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":896 | |
+/* "falcon/routing/compiled.py":915 | |
* self._children.append(construct) | |
* | |
- * def src(self, indentation): # <<<<<<<<<<<<<< | |
+ * def src(self, indentation: int) -> str: # <<<<<<<<<<<<<< | |
* return self._children_src(indentation + 1) | |
* | |
*/ | |
@@ -16434,19 +16835,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 896, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 915, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_indentation)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 896, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 915, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 896, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 915, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 896, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 915, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -16459,7 +16860,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 896, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 915, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxParent.src", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -16485,17 +16886,17 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_9_CxParent_4src(CYTHON_UNUS | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("src", 0); | |
- /* "falcon/routing/compiled.py":897 | |
+ /* "falcon/routing/compiled.py":916 | |
* | |
- * def src(self, indentation): | |
+ * def src(self, indentation: int) -> str: | |
* return self._children_src(indentation + 1) # <<<<<<<<<<<<<< | |
* | |
* def _children_src(self, indentation): | |
*/ | |
__Pyx_XDECREF(__pyx_r); | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_children_src); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 897, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_children_src); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 916, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_v_indentation, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 897, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_v_indentation, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 916, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__pyx_t_4 = NULL; | |
__pyx_t_5 = 0; | |
@@ -16514,18 +16915,19 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_9_CxParent_4src(CYTHON_UNUS | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); | |
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 897, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 916, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
- __pyx_r = __pyx_t_1; | |
+ if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("unicode", __pyx_t_1))) __PYX_ERR(0, 916, __pyx_L1_error) | |
+ __pyx_r = ((PyObject*)__pyx_t_1); | |
__pyx_t_1 = 0; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":896 | |
+ /* "falcon/routing/compiled.py":915 | |
* self._children.append(construct) | |
* | |
- * def src(self, indentation): # <<<<<<<<<<<<<< | |
+ * def src(self, indentation: int) -> str: # <<<<<<<<<<<<<< | |
* return self._children_src(indentation + 1) | |
* | |
*/ | |
@@ -16544,7 +16946,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_9_CxParent_4src(CYTHON_UNUS | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":899 | |
+/* "falcon/routing/compiled.py":918 | |
* return self._children_src(indentation + 1) | |
* | |
* def _children_src(self, indentation): # <<<<<<<<<<<<<< | |
@@ -16601,19 +17003,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 899, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 918, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_indentation)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 899, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 918, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("_children_src", 1, 2, 2, 1); __PYX_ERR(0, 899, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_children_src", 1, 2, 2, 1); __PYX_ERR(0, 918, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_children_src") < 0)) __PYX_ERR(0, 899, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_children_src") < 0)) __PYX_ERR(0, 918, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -16626,7 +17028,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("_children_src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 899, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("_children_src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 918, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxParent._children_src", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -16657,7 +17059,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_9_CxParent_6_children_src(C | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("_children_src", 0); | |
- /* "falcon/routing/compiled.py":900 | |
+ /* "falcon/routing/compiled.py":919 | |
* | |
* def _children_src(self, indentation): | |
* src_lines = [child.src(indentation) for child in self._children] # <<<<<<<<<<<<<< | |
@@ -16665,17 +17067,17 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_9_CxParent_6_children_src(C | |
* return '\n'.join(src_lines) | |
*/ | |
{ /* enter inner scope */ | |
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 900, __pyx_L5_error) | |
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 919, __pyx_L5_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_children_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 900, __pyx_L5_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_children_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 919, __pyx_L5_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { | |
__pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0; | |
__pyx_t_5 = NULL; | |
} else { | |
- __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 900, __pyx_L5_error) | |
+ __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 919, __pyx_L5_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_5 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 900, __pyx_L5_error) | |
+ __pyx_t_5 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 919, __pyx_L5_error) | |
} | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
for (;;) { | |
@@ -16683,17 +17085,17 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_9_CxParent_6_children_src(C | |
if (likely(PyList_CheckExact(__pyx_t_3))) { | |
if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break; | |
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
- __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely((0 < 0))) __PYX_ERR(0, 900, __pyx_L5_error) | |
+ __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely((0 < 0))) __PYX_ERR(0, 919, __pyx_L5_error) | |
#else | |
- __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 900, __pyx_L5_error) | |
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 919, __pyx_L5_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
#endif | |
} else { | |
if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break; | |
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS | |
- __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely((0 < 0))) __PYX_ERR(0, 900, __pyx_L5_error) | |
+ __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely((0 < 0))) __PYX_ERR(0, 919, __pyx_L5_error) | |
#else | |
- __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 900, __pyx_L5_error) | |
+ __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 919, __pyx_L5_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
#endif | |
} | |
@@ -16703,7 +17105,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_9_CxParent_6_children_src(C | |
PyObject* exc_type = PyErr_Occurred(); | |
if (exc_type) { | |
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); | |
- else __PYX_ERR(0, 900, __pyx_L5_error) | |
+ else __PYX_ERR(0, 919, __pyx_L5_error) | |
} | |
break; | |
} | |
@@ -16711,7 +17113,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_9_CxParent_6_children_src(C | |
} | |
__Pyx_XDECREF_SET(__pyx_8genexpr4__pyx_v_child, __pyx_t_2); | |
__pyx_t_2 = 0; | |
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_8genexpr4__pyx_v_child, __pyx_n_s_src); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 900, __pyx_L5_error) | |
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_8genexpr4__pyx_v_child, __pyx_n_s_src); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 919, __pyx_L5_error) | |
__Pyx_GOTREF(__pyx_t_6); | |
__pyx_t_7 = NULL; | |
__pyx_t_8 = 0; | |
@@ -16729,11 +17131,11 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_9_CxParent_6_children_src(C | |
PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_indentation}; | |
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8); | |
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; | |
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 900, __pyx_L5_error) | |
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 919, __pyx_L5_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; | |
} | |
- if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 900, __pyx_L5_error) | |
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 919, __pyx_L5_error) | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
@@ -16747,7 +17149,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_9_CxParent_6_children_src(C | |
__pyx_v_src_lines = ((PyObject*)__pyx_t_1); | |
__pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":902 | |
+ /* "falcon/routing/compiled.py":921 | |
* src_lines = [child.src(indentation) for child in self._children] | |
* | |
* return '\n'.join(src_lines) # <<<<<<<<<<<<<< | |
@@ -16755,13 +17157,13 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_9_CxParent_6_children_src(C | |
* | |
*/ | |
__Pyx_XDECREF(__pyx_r); | |
- __pyx_t_1 = PyUnicode_Join(__pyx_kp_u__12, __pyx_v_src_lines); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 902, __pyx_L1_error) | |
+ __pyx_t_1 = PyUnicode_Join(__pyx_kp_u__13, __pyx_v_src_lines); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 921, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__pyx_r = __pyx_t_1; | |
__pyx_t_1 = 0; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":899 | |
+ /* "falcon/routing/compiled.py":918 | |
* return self._children_src(indentation + 1) | |
* | |
* def _children_src(self, indentation): # <<<<<<<<<<<<<< | |
@@ -16786,7 +17188,137 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_9_CxParent_6_children_src(C | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":906 | |
+/* "falcon/routing/compiled.py":926 | |
+ * class _CxChild: | |
+ * # This a base element only to aid pep484 | |
+ * def src(self, indentation: int) -> str: # <<<<<<<<<<<<<< | |
+ * raise NotImplementedError | |
+ * | |
+ */ | |
+ | |
+/* Python wrapper */ | |
+static PyObject *__pyx_pw_6falcon_7routing_8compiled_8_CxChild_1src(PyObject *__pyx_self, | |
+#if CYTHON_METH_FASTCALL | |
+PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds | |
+#else | |
+PyObject *__pyx_args, PyObject *__pyx_kwds | |
+#endif | |
+); /*proto*/ | |
+static PyMethodDef __pyx_mdef_6falcon_7routing_8compiled_8_CxChild_1src = {"src", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6falcon_7routing_8compiled_8_CxChild_1src, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; | |
+static PyObject *__pyx_pw_6falcon_7routing_8compiled_8_CxChild_1src(PyObject *__pyx_self, | |
+#if CYTHON_METH_FASTCALL | |
+PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds | |
+#else | |
+PyObject *__pyx_args, PyObject *__pyx_kwds | |
+#endif | |
+) { | |
+ CYTHON_UNUSED PyObject *__pyx_v_self = 0; | |
+ CYTHON_UNUSED PyObject *__pyx_v_indentation = 0; | |
+ #if !CYTHON_METH_FASTCALL | |
+ CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); | |
+ #endif | |
+ CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); | |
+ int __pyx_lineno = 0; | |
+ const char *__pyx_filename = NULL; | |
+ int __pyx_clineno = 0; | |
+ PyObject *__pyx_r = 0; | |
+ __Pyx_RefNannyDeclarations | |
+ __Pyx_RefNannySetupContext("src (wrapper)", 0); | |
+ { | |
+ #if CYTHON_USE_MODULE_STATE | |
+ PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_indentation,0}; | |
+ #else | |
+ static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_indentation,0}; | |
+ #endif | |
+ PyObject* values[2] = {0,0}; | |
+ if (__pyx_kwds) { | |
+ Py_ssize_t kw_args; | |
+ switch (__pyx_nargs) { | |
+ case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); | |
+ CYTHON_FALLTHROUGH; | |
+ case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); | |
+ CYTHON_FALLTHROUGH; | |
+ case 0: break; | |
+ default: goto __pyx_L5_argtuple_error; | |
+ } | |
+ kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); | |
+ switch (__pyx_nargs) { | |
+ case 0: | |
+ if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 926, __pyx_L3_error) | |
+ else goto __pyx_L5_argtuple_error; | |
+ CYTHON_FALLTHROUGH; | |
+ case 1: | |
+ if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_indentation)) != 0)) kw_args--; | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 926, __pyx_L3_error) | |
+ else { | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 926, __pyx_L3_error) | |
+ } | |
+ } | |
+ if (unlikely(kw_args > 0)) { | |
+ const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 926, __pyx_L3_error) | |
+ } | |
+ } else if (unlikely(__pyx_nargs != 2)) { | |
+ goto __pyx_L5_argtuple_error; | |
+ } else { | |
+ values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); | |
+ values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); | |
+ } | |
+ __pyx_v_self = values[0]; | |
+ __pyx_v_indentation = values[1]; | |
+ } | |
+ goto __pyx_L4_argument_unpacking_done; | |
+ __pyx_L5_argtuple_error:; | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 926, __pyx_L3_error) | |
+ __pyx_L3_error:; | |
+ __Pyx_AddTraceback("falcon.routing.compiled._CxChild.src", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
+ __Pyx_RefNannyFinishContext(); | |
+ return NULL; | |
+ __pyx_L4_argument_unpacking_done:; | |
+ __pyx_r = __pyx_pf_6falcon_7routing_8compiled_8_CxChild_src(__pyx_self, __pyx_v_self, __pyx_v_indentation); | |
+ | |
+ /* function exit code */ | |
+ __Pyx_RefNannyFinishContext(); | |
+ return __pyx_r; | |
+} | |
+ | |
+static PyObject *__pyx_pf_6falcon_7routing_8compiled_8_CxChild_src(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_indentation) { | |
+ PyObject *__pyx_r = NULL; | |
+ __Pyx_RefNannyDeclarations | |
+ int __pyx_lineno = 0; | |
+ const char *__pyx_filename = NULL; | |
+ int __pyx_clineno = 0; | |
+ __Pyx_RefNannySetupContext("src", 0); | |
+ | |
+ /* "falcon/routing/compiled.py":927 | |
+ * # This a base element only to aid pep484 | |
+ * def src(self, indentation: int) -> str: | |
+ * raise NotImplementedError # <<<<<<<<<<<<<< | |
+ * | |
+ * | |
+ */ | |
+ __Pyx_Raise(__pyx_builtin_NotImplementedError, 0, 0, 0); | |
+ __PYX_ERR(0, 927, __pyx_L1_error) | |
+ | |
+ /* "falcon/routing/compiled.py":926 | |
+ * class _CxChild: | |
+ * # This a base element only to aid pep484 | |
+ * def src(self, indentation: int) -> str: # <<<<<<<<<<<<<< | |
+ * raise NotImplementedError | |
+ * | |
+ */ | |
+ | |
+ /* function exit code */ | |
+ __pyx_L1_error:; | |
+ __Pyx_AddTraceback("falcon.routing.compiled._CxChild.src", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
+ __pyx_r = NULL; | |
+ __Pyx_XGIVEREF(__pyx_r); | |
+ __Pyx_RefNannyFinishContext(); | |
+ return __pyx_r; | |
+} | |
+ | |
+/* "falcon/routing/compiled.py":931 | |
* | |
* class _CxIfPathLength(_CxParent): | |
* def __init__(self, comparison, length): # <<<<<<<<<<<<<< | |
@@ -16846,26 +17378,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 906, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 931, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_comparison)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 906, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 931, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); __PYX_ERR(0, 906, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); __PYX_ERR(0, 931, __pyx_L3_error) | |
} | |
CYTHON_FALLTHROUGH; | |
case 2: | |
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_length)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 906, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 931, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); __PYX_ERR(0, 906, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); __PYX_ERR(0, 931, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 906, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 931, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 3)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -16880,7 +17412,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 906, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 931, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxIfPathLength.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -16905,7 +17437,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_15_CxIfPathLength___init__( | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("__init__", 0); | |
- /* "falcon/routing/compiled.py":907 | |
+ /* "falcon/routing/compiled.py":932 | |
* class _CxIfPathLength(_CxParent): | |
* def __init__(self, comparison, length): | |
* super().__init__() # <<<<<<<<<<<<<< | |
@@ -16913,9 +17445,9 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_15_CxIfPathLength___init__( | |
* self._length = length | |
*/ | |
__pyx_t_2 = __Pyx_CyFunction_GetClassObj(__pyx_self); | |
- if (!__pyx_t_2) { PyErr_SetString(PyExc_SystemError, "super(): empty __class__ cell"); __PYX_ERR(0, 907, __pyx_L1_error) } | |
+ if (!__pyx_t_2) { PyErr_SetString(PyExc_SystemError, "super(): empty __class__ cell"); __PYX_ERR(0, 932, __pyx_L1_error) } | |
__Pyx_INCREF(__pyx_t_2); | |
- __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 907, __pyx_L1_error) | |
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 932, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_GIVEREF(__pyx_t_2); | |
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); | |
@@ -16923,10 +17455,10 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_15_CxIfPathLength___init__( | |
__Pyx_GIVEREF(__pyx_v_self); | |
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_self); | |
__pyx_t_2 = 0; | |
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 907, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 932, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 907, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 932, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
__pyx_t_2 = NULL; | |
@@ -16945,31 +17477,31 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_15_CxIfPathLength___init__( | |
PyObject *__pyx_callargs[1] = {__pyx_t_2, }; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 907, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 932, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":908 | |
+ /* "falcon/routing/compiled.py":933 | |
* def __init__(self, comparison, length): | |
* super().__init__() | |
* self._comparison = comparison # <<<<<<<<<<<<<< | |
* self._length = length | |
* | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_comparison_2, __pyx_v_comparison) < 0) __PYX_ERR(0, 908, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_comparison_2, __pyx_v_comparison) < 0) __PYX_ERR(0, 933, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":909 | |
+ /* "falcon/routing/compiled.py":934 | |
* super().__init__() | |
* self._comparison = comparison | |
* self._length = length # <<<<<<<<<<<<<< | |
* | |
* def src(self, indentation): | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_length_2, __pyx_v_length) < 0) __PYX_ERR(0, 909, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_length_2, __pyx_v_length) < 0) __PYX_ERR(0, 934, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":906 | |
+ /* "falcon/routing/compiled.py":931 | |
* | |
* class _CxIfPathLength(_CxParent): | |
* def __init__(self, comparison, length): # <<<<<<<<<<<<<< | |
@@ -16992,7 +17524,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_15_CxIfPathLength___init__( | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":911 | |
+/* "falcon/routing/compiled.py":936 | |
* self._length = length | |
* | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
@@ -17049,19 +17581,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 911, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 936, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_indentation)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 911, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 936, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 911, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 936, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 911, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 936, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -17074,7 +17606,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 911, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 936, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxIfPathLength.src", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -17106,7 +17638,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_15_CxIfPathLength_2src(CYTH | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("src", 0); | |
- /* "falcon/routing/compiled.py":912 | |
+ /* "falcon/routing/compiled.py":937 | |
* | |
* def src(self, indentation): | |
* template = '{0}if path_len {1} {2}:\n{3}' # <<<<<<<<<<<<<< | |
@@ -17116,7 +17648,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_15_CxIfPathLength_2src(CYTH | |
__Pyx_INCREF(__pyx_kp_u_0_if_path_len_1_2_3); | |
__pyx_v_template = __pyx_kp_u_0_if_path_len_1_2_3; | |
- /* "falcon/routing/compiled.py":913 | |
+ /* "falcon/routing/compiled.py":938 | |
* def src(self, indentation): | |
* template = '{0}if path_len {1} {2}:\n{3}' | |
* return template.format( # <<<<<<<<<<<<<< | |
@@ -17124,52 +17656,52 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_15_CxIfPathLength_2src(CYTH | |
* self._comparison, | |
*/ | |
__Pyx_XDECREF(__pyx_r); | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_template, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 913, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_template, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 938, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- /* "falcon/routing/compiled.py":914 | |
+ /* "falcon/routing/compiled.py":939 | |
* template = '{0}if path_len {1} {2}:\n{3}' | |
* return template.format( | |
* _TAB_STR * indentation, # <<<<<<<<<<<<<< | |
* self._comparison, | |
* self._length, | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 914, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 939, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 914, __pyx_L1_error) | |
+ __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 939, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- /* "falcon/routing/compiled.py":915 | |
+ /* "falcon/routing/compiled.py":940 | |
* return template.format( | |
* _TAB_STR * indentation, | |
* self._comparison, # <<<<<<<<<<<<<< | |
* self._length, | |
* self._children_src(indentation + 1), | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_comparison_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 915, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_comparison_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 940, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- /* "falcon/routing/compiled.py":916 | |
+ /* "falcon/routing/compiled.py":941 | |
* _TAB_STR * indentation, | |
* self._comparison, | |
* self._length, # <<<<<<<<<<<<<< | |
* self._children_src(indentation + 1), | |
* ) | |
*/ | |
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_length_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 916, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_length_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 941, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
- /* "falcon/routing/compiled.py":917 | |
+ /* "falcon/routing/compiled.py":942 | |
* self._comparison, | |
* self._length, | |
* self._children_src(indentation + 1), # <<<<<<<<<<<<<< | |
* ) | |
* | |
*/ | |
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_children_src); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 917, __pyx_L1_error) | |
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_children_src); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 942, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
- __pyx_t_8 = __Pyx_PyInt_AddObjC(__pyx_v_indentation, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 917, __pyx_L1_error) | |
+ __pyx_t_8 = __Pyx_PyInt_AddObjC(__pyx_v_indentation, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 942, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_8); | |
__pyx_t_9 = NULL; | |
__pyx_t_10 = 0; | |
@@ -17188,7 +17720,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_15_CxIfPathLength_2src(CYTH | |
__pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); | |
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; | |
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
- if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 917, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 942, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_6); | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
} | |
@@ -17212,7 +17744,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_15_CxIfPathLength_2src(CYTH | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 913, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 938, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
@@ -17220,7 +17752,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_15_CxIfPathLength_2src(CYTH | |
__pyx_t_1 = 0; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":911 | |
+ /* "falcon/routing/compiled.py":936 | |
* self._length = length | |
* | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
@@ -17248,7 +17780,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_15_CxIfPathLength_2src(CYTH | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":922 | |
+/* "falcon/routing/compiled.py":947 | |
* | |
* class _CxIfPathSegmentLiteral(_CxParent): | |
* def __init__(self, segment_idx, literal): # <<<<<<<<<<<<<< | |
@@ -17308,26 +17840,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 922, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 947, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_segment_idx)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 922, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 947, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); __PYX_ERR(0, 922, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); __PYX_ERR(0, 947, __pyx_L3_error) | |
} | |
CYTHON_FALLTHROUGH; | |
case 2: | |
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_literal)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 922, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 947, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); __PYX_ERR(0, 922, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); __PYX_ERR(0, 947, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 922, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 947, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 3)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -17342,7 +17874,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 922, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 947, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxIfPathSegmentLiteral.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -17367,7 +17899,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxIfPathSegmentLiteral__ | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("__init__", 0); | |
- /* "falcon/routing/compiled.py":923 | |
+ /* "falcon/routing/compiled.py":948 | |
* class _CxIfPathSegmentLiteral(_CxParent): | |
* def __init__(self, segment_idx, literal): | |
* super().__init__() # <<<<<<<<<<<<<< | |
@@ -17375,9 +17907,9 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxIfPathSegmentLiteral__ | |
* self._literal = literal | |
*/ | |
__pyx_t_2 = __Pyx_CyFunction_GetClassObj(__pyx_self); | |
- if (!__pyx_t_2) { PyErr_SetString(PyExc_SystemError, "super(): empty __class__ cell"); __PYX_ERR(0, 923, __pyx_L1_error) } | |
+ if (!__pyx_t_2) { PyErr_SetString(PyExc_SystemError, "super(): empty __class__ cell"); __PYX_ERR(0, 948, __pyx_L1_error) } | |
__Pyx_INCREF(__pyx_t_2); | |
- __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 923, __pyx_L1_error) | |
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 948, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_GIVEREF(__pyx_t_2); | |
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); | |
@@ -17385,10 +17917,10 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxIfPathSegmentLiteral__ | |
__Pyx_GIVEREF(__pyx_v_self); | |
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_self); | |
__pyx_t_2 = 0; | |
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 923, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 948, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 923, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 948, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
__pyx_t_2 = NULL; | |
@@ -17407,31 +17939,31 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxIfPathSegmentLiteral__ | |
PyObject *__pyx_callargs[1] = {__pyx_t_2, }; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 923, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 948, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":924 | |
+ /* "falcon/routing/compiled.py":949 | |
* def __init__(self, segment_idx, literal): | |
* super().__init__() | |
* self._segment_idx = segment_idx # <<<<<<<<<<<<<< | |
* self._literal = literal | |
* | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_segment_idx_2, __pyx_v_segment_idx) < 0) __PYX_ERR(0, 924, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_segment_idx_2, __pyx_v_segment_idx) < 0) __PYX_ERR(0, 949, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":925 | |
+ /* "falcon/routing/compiled.py":950 | |
* super().__init__() | |
* self._segment_idx = segment_idx | |
* self._literal = literal # <<<<<<<<<<<<<< | |
* | |
* def src(self, indentation): | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_literal_2, __pyx_v_literal) < 0) __PYX_ERR(0, 925, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_literal_2, __pyx_v_literal) < 0) __PYX_ERR(0, 950, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":922 | |
+ /* "falcon/routing/compiled.py":947 | |
* | |
* class _CxIfPathSegmentLiteral(_CxParent): | |
* def __init__(self, segment_idx, literal): # <<<<<<<<<<<<<< | |
@@ -17454,7 +17986,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxIfPathSegmentLiteral__ | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":927 | |
+/* "falcon/routing/compiled.py":952 | |
* self._literal = literal | |
* | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
@@ -17511,19 +18043,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 927, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 952, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_indentation)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 927, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 952, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 927, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 952, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 927, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 952, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -17536,7 +18068,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 927, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 952, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxIfPathSegmentLiteral.src", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -17568,7 +18100,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxIfPathSegmentLiteral_2 | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("src", 0); | |
- /* "falcon/routing/compiled.py":928 | |
+ /* "falcon/routing/compiled.py":953 | |
* | |
* def src(self, indentation): | |
* template = "{0}if path[{1}] == '{2}':\n{3}" # <<<<<<<<<<<<<< | |
@@ -17578,7 +18110,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxIfPathSegmentLiteral_2 | |
__Pyx_INCREF(__pyx_kp_u_0_if_path_1_2_3); | |
__pyx_v_template = __pyx_kp_u_0_if_path_1_2_3; | |
- /* "falcon/routing/compiled.py":929 | |
+ /* "falcon/routing/compiled.py":954 | |
* def src(self, indentation): | |
* template = "{0}if path[{1}] == '{2}':\n{3}" | |
* return template.format( # <<<<<<<<<<<<<< | |
@@ -17586,52 +18118,52 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxIfPathSegmentLiteral_2 | |
* self._segment_idx, | |
*/ | |
__Pyx_XDECREF(__pyx_r); | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_template, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 929, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_template, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 954, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- /* "falcon/routing/compiled.py":930 | |
+ /* "falcon/routing/compiled.py":955 | |
* template = "{0}if path[{1}] == '{2}':\n{3}" | |
* return template.format( | |
* _TAB_STR * indentation, # <<<<<<<<<<<<<< | |
* self._segment_idx, | |
* self._literal, | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 930, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 955, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 930, __pyx_L1_error) | |
+ __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 955, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- /* "falcon/routing/compiled.py":931 | |
+ /* "falcon/routing/compiled.py":956 | |
* return template.format( | |
* _TAB_STR * indentation, | |
* self._segment_idx, # <<<<<<<<<<<<<< | |
* self._literal, | |
* self._children_src(indentation + 1), | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_segment_idx_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 931, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_segment_idx_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 956, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- /* "falcon/routing/compiled.py":932 | |
+ /* "falcon/routing/compiled.py":957 | |
* _TAB_STR * indentation, | |
* self._segment_idx, | |
* self._literal, # <<<<<<<<<<<<<< | |
* self._children_src(indentation + 1), | |
* ) | |
*/ | |
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_literal_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 932, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_literal_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 957, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
- /* "falcon/routing/compiled.py":933 | |
+ /* "falcon/routing/compiled.py":958 | |
* self._segment_idx, | |
* self._literal, | |
* self._children_src(indentation + 1), # <<<<<<<<<<<<<< | |
* ) | |
* | |
*/ | |
- __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_children_src); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 933, __pyx_L1_error) | |
+ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_children_src); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 958, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_7); | |
- __pyx_t_8 = __Pyx_PyInt_AddObjC(__pyx_v_indentation, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 933, __pyx_L1_error) | |
+ __pyx_t_8 = __Pyx_PyInt_AddObjC(__pyx_v_indentation, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 958, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_8); | |
__pyx_t_9 = NULL; | |
__pyx_t_10 = 0; | |
@@ -17650,7 +18182,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxIfPathSegmentLiteral_2 | |
__pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10); | |
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; | |
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
- if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 933, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 958, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_6); | |
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
} | |
@@ -17674,7 +18206,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxIfPathSegmentLiteral_2 | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 929, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 954, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
@@ -17682,7 +18214,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxIfPathSegmentLiteral_2 | |
__pyx_t_1 = 0; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":927 | |
+ /* "falcon/routing/compiled.py":952 | |
* self._literal = literal | |
* | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
@@ -17710,7 +18242,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxIfPathSegmentLiteral_2 | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":938 | |
+/* "falcon/routing/compiled.py":963 | |
* | |
* class _CxIfPathSegmentPattern(_CxParent): | |
* def __init__(self, segment_idx, pattern_idx, pattern_text): # <<<<<<<<<<<<<< | |
@@ -17773,33 +18305,33 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 938, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 963, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_segment_idx)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 938, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 963, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, 1); __PYX_ERR(0, 938, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, 1); __PYX_ERR(0, 963, __pyx_L3_error) | |
} | |
CYTHON_FALLTHROUGH; | |
case 2: | |
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pattern_idx)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 938, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 963, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, 2); __PYX_ERR(0, 938, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, 2); __PYX_ERR(0, 963, __pyx_L3_error) | |
} | |
CYTHON_FALLTHROUGH; | |
case 3: | |
if (likely((values[3] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pattern_text)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 938, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 963, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, 3); __PYX_ERR(0, 938, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, 3); __PYX_ERR(0, 963, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 938, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 963, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 4)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -17816,7 +18348,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 938, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 4, 4, __pyx_nargs); __PYX_ERR(0, 963, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxIfPathSegmentPattern.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -17841,7 +18373,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxIfPathSegmentPattern__ | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("__init__", 0); | |
- /* "falcon/routing/compiled.py":939 | |
+ /* "falcon/routing/compiled.py":964 | |
* class _CxIfPathSegmentPattern(_CxParent): | |
* def __init__(self, segment_idx, pattern_idx, pattern_text): | |
* super().__init__() # <<<<<<<<<<<<<< | |
@@ -17849,9 +18381,9 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxIfPathSegmentPattern__ | |
* self._pattern_idx = pattern_idx | |
*/ | |
__pyx_t_2 = __Pyx_CyFunction_GetClassObj(__pyx_self); | |
- if (!__pyx_t_2) { PyErr_SetString(PyExc_SystemError, "super(): empty __class__ cell"); __PYX_ERR(0, 939, __pyx_L1_error) } | |
+ if (!__pyx_t_2) { PyErr_SetString(PyExc_SystemError, "super(): empty __class__ cell"); __PYX_ERR(0, 964, __pyx_L1_error) } | |
__Pyx_INCREF(__pyx_t_2); | |
- __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 939, __pyx_L1_error) | |
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 964, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_GIVEREF(__pyx_t_2); | |
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); | |
@@ -17859,10 +18391,10 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxIfPathSegmentPattern__ | |
__Pyx_GIVEREF(__pyx_v_self); | |
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_self); | |
__pyx_t_2 = 0; | |
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 939, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 964, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 939, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 964, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
__pyx_t_2 = NULL; | |
@@ -17881,40 +18413,40 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxIfPathSegmentPattern__ | |
PyObject *__pyx_callargs[1] = {__pyx_t_2, }; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 939, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 964, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":940 | |
+ /* "falcon/routing/compiled.py":965 | |
* def __init__(self, segment_idx, pattern_idx, pattern_text): | |
* super().__init__() | |
* self._segment_idx = segment_idx # <<<<<<<<<<<<<< | |
* self._pattern_idx = pattern_idx | |
* self._pattern_text = pattern_text | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_segment_idx_2, __pyx_v_segment_idx) < 0) __PYX_ERR(0, 940, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_segment_idx_2, __pyx_v_segment_idx) < 0) __PYX_ERR(0, 965, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":941 | |
+ /* "falcon/routing/compiled.py":966 | |
* super().__init__() | |
* self._segment_idx = segment_idx | |
* self._pattern_idx = pattern_idx # <<<<<<<<<<<<<< | |
* self._pattern_text = pattern_text | |
* | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_pattern_idx_2, __pyx_v_pattern_idx) < 0) __PYX_ERR(0, 941, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_pattern_idx_2, __pyx_v_pattern_idx) < 0) __PYX_ERR(0, 966, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":942 | |
+ /* "falcon/routing/compiled.py":967 | |
* self._segment_idx = segment_idx | |
* self._pattern_idx = pattern_idx | |
* self._pattern_text = pattern_text # <<<<<<<<<<<<<< | |
* | |
* def src(self, indentation): | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_pattern_text_2, __pyx_v_pattern_text) < 0) __PYX_ERR(0, 942, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_pattern_text_2, __pyx_v_pattern_text) < 0) __PYX_ERR(0, 967, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":938 | |
+ /* "falcon/routing/compiled.py":963 | |
* | |
* class _CxIfPathSegmentPattern(_CxParent): | |
* def __init__(self, segment_idx, pattern_idx, pattern_text): # <<<<<<<<<<<<<< | |
@@ -17937,7 +18469,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxIfPathSegmentPattern__ | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":944 | |
+/* "falcon/routing/compiled.py":969 | |
* self._pattern_text = pattern_text | |
* | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
@@ -17994,19 +18526,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 944, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 969, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_indentation)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 944, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 969, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 944, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 969, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 944, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 969, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -18019,7 +18551,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 944, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 969, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxIfPathSegmentPattern.src", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -18049,57 +18581,57 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxIfPathSegmentPattern_2 | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("src", 0); | |
- /* "falcon/routing/compiled.py":946 | |
+ /* "falcon/routing/compiled.py":971 | |
* def src(self, indentation): | |
* lines = [ | |
* '{0}match = patterns[{1}].match(path[{2}]) # {3}'.format( # <<<<<<<<<<<<<< | |
* _TAB_STR * indentation, | |
* self._pattern_idx, | |
*/ | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_match_patterns_1_match_path_2, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 946, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_match_patterns_1_match_path_2, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 971, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- /* "falcon/routing/compiled.py":947 | |
+ /* "falcon/routing/compiled.py":972 | |
* lines = [ | |
* '{0}match = patterns[{1}].match(path[{2}]) # {3}'.format( | |
* _TAB_STR * indentation, # <<<<<<<<<<<<<< | |
* self._pattern_idx, | |
* self._segment_idx, | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 947, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 972, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 947, __pyx_L1_error) | |
+ __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 972, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- /* "falcon/routing/compiled.py":948 | |
+ /* "falcon/routing/compiled.py":973 | |
* '{0}match = patterns[{1}].match(path[{2}]) # {3}'.format( | |
* _TAB_STR * indentation, | |
* self._pattern_idx, # <<<<<<<<<<<<<< | |
* self._segment_idx, | |
* self._pattern_text, | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pattern_idx_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 948, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pattern_idx_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 973, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- /* "falcon/routing/compiled.py":949 | |
+ /* "falcon/routing/compiled.py":974 | |
* _TAB_STR * indentation, | |
* self._pattern_idx, | |
* self._segment_idx, # <<<<<<<<<<<<<< | |
* self._pattern_text, | |
* ), | |
*/ | |
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_segment_idx_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 949, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_segment_idx_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 974, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
- /* "falcon/routing/compiled.py":950 | |
+ /* "falcon/routing/compiled.py":975 | |
* self._pattern_idx, | |
* self._segment_idx, | |
* self._pattern_text, # <<<<<<<<<<<<<< | |
* ), | |
* '{0}if match is not None:'.format(_TAB_STR * indentation), | |
*/ | |
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pattern_text_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 950, __pyx_L1_error) | |
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pattern_text_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 975, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_6); | |
__pyx_t_7 = NULL; | |
__pyx_t_8 = 0; | |
@@ -18121,23 +18653,23 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxIfPathSegmentPattern_2 | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 946, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 971, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
- /* "falcon/routing/compiled.py":952 | |
+ /* "falcon/routing/compiled.py":977 | |
* self._pattern_text, | |
* ), | |
* '{0}if match is not None:'.format(_TAB_STR * indentation), # <<<<<<<<<<<<<< | |
* self._children_src(indentation + 1), | |
* ] | |
*/ | |
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_if_match_is_not_None, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 952, __pyx_L1_error) | |
+ __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_if_match_is_not_None, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 977, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_6); | |
- __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 952, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 977, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
- __pyx_t_3 = PyNumber_Multiply(__pyx_t_5, __pyx_v_indentation); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 952, __pyx_L1_error) | |
+ __pyx_t_3 = PyNumber_Multiply(__pyx_t_5, __pyx_v_indentation); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 977, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
__pyx_t_5 = NULL; | |
@@ -18157,21 +18689,21 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxIfPathSegmentPattern_2 | |
__pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8); | |
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 952, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 977, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; | |
} | |
- /* "falcon/routing/compiled.py":953 | |
+ /* "falcon/routing/compiled.py":978 | |
* ), | |
* '{0}if match is not None:'.format(_TAB_STR * indentation), | |
* self._children_src(indentation + 1), # <<<<<<<<<<<<<< | |
* ] | |
* | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_children_src); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 953, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_children_src); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 978, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_v_indentation, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 953, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_v_indentation, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 978, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__pyx_t_4 = NULL; | |
__pyx_t_8 = 0; | |
@@ -18190,19 +18722,19 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxIfPathSegmentPattern_2 | |
__pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8); | |
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
- if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 953, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 978, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_6); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
- /* "falcon/routing/compiled.py":945 | |
+ /* "falcon/routing/compiled.py":970 | |
* | |
* def src(self, indentation): | |
* lines = [ # <<<<<<<<<<<<<< | |
* '{0}match = patterns[{1}].match(path[{2}]) # {3}'.format( | |
* _TAB_STR * indentation, | |
*/ | |
- __pyx_t_3 = PyList_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 945, __pyx_L1_error) | |
+ __pyx_t_3 = PyList_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 970, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_GIVEREF(__pyx_t_1); | |
PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); | |
@@ -18216,7 +18748,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxIfPathSegmentPattern_2 | |
__pyx_v_lines = ((PyObject*)__pyx_t_3); | |
__pyx_t_3 = 0; | |
- /* "falcon/routing/compiled.py":956 | |
+ /* "falcon/routing/compiled.py":981 | |
* ] | |
* | |
* return '\n'.join(lines) # <<<<<<<<<<<<<< | |
@@ -18224,13 +18756,13 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxIfPathSegmentPattern_2 | |
* | |
*/ | |
__Pyx_XDECREF(__pyx_r); | |
- __pyx_t_3 = PyUnicode_Join(__pyx_kp_u__12, __pyx_v_lines); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 956, __pyx_L1_error) | |
+ __pyx_t_3 = PyUnicode_Join(__pyx_kp_u__13, __pyx_v_lines); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 981, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__pyx_r = __pyx_t_3; | |
__pyx_t_3 = 0; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":944 | |
+ /* "falcon/routing/compiled.py":969 | |
* self._pattern_text = pattern_text | |
* | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
@@ -18256,7 +18788,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxIfPathSegmentPattern_2 | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":960 | |
+/* "falcon/routing/compiled.py":985 | |
* | |
* class _CxIfConverterField(_CxParent): | |
* def __init__(self, unique_idx, converter_idx): # <<<<<<<<<<<<<< | |
@@ -18316,26 +18848,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 960, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 985, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_unique_idx)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 960, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 985, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); __PYX_ERR(0, 960, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); __PYX_ERR(0, 985, __pyx_L3_error) | |
} | |
CYTHON_FALLTHROUGH; | |
case 2: | |
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_converter_idx)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 960, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 985, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); __PYX_ERR(0, 960, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); __PYX_ERR(0, 985, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 960, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 985, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 3)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -18350,7 +18882,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 960, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 985, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxIfConverterField.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -18375,7 +18907,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_19_CxIfConverterField___ini | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("__init__", 0); | |
- /* "falcon/routing/compiled.py":961 | |
+ /* "falcon/routing/compiled.py":986 | |
* class _CxIfConverterField(_CxParent): | |
* def __init__(self, unique_idx, converter_idx): | |
* super().__init__() # <<<<<<<<<<<<<< | |
@@ -18383,9 +18915,9 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_19_CxIfConverterField___ini | |
* self._unique_idx = unique_idx | |
*/ | |
__pyx_t_2 = __Pyx_CyFunction_GetClassObj(__pyx_self); | |
- if (!__pyx_t_2) { PyErr_SetString(PyExc_SystemError, "super(): empty __class__ cell"); __PYX_ERR(0, 961, __pyx_L1_error) } | |
+ if (!__pyx_t_2) { PyErr_SetString(PyExc_SystemError, "super(): empty __class__ cell"); __PYX_ERR(0, 986, __pyx_L1_error) } | |
__Pyx_INCREF(__pyx_t_2); | |
- __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 961, __pyx_L1_error) | |
+ __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 986, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_GIVEREF(__pyx_t_2); | |
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); | |
@@ -18393,10 +18925,10 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_19_CxIfConverterField___ini | |
__Pyx_GIVEREF(__pyx_v_self); | |
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_self); | |
__pyx_t_2 = 0; | |
- __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 961, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 986, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 961, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 986, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
__pyx_t_2 = NULL; | |
@@ -18415,38 +18947,38 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_19_CxIfConverterField___ini | |
PyObject *__pyx_callargs[1] = {__pyx_t_2, }; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 961, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 986, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":962 | |
+ /* "falcon/routing/compiled.py":987 | |
* def __init__(self, unique_idx, converter_idx): | |
* super().__init__() | |
* self._converter_idx = converter_idx # <<<<<<<<<<<<<< | |
* self._unique_idx = unique_idx | |
* self.field_variable_name = 'field_value_{0}'.format(unique_idx) | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_converter_idx_2, __pyx_v_converter_idx) < 0) __PYX_ERR(0, 962, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_converter_idx_2, __pyx_v_converter_idx) < 0) __PYX_ERR(0, 987, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":963 | |
+ /* "falcon/routing/compiled.py":988 | |
* super().__init__() | |
* self._converter_idx = converter_idx | |
* self._unique_idx = unique_idx # <<<<<<<<<<<<<< | |
* self.field_variable_name = 'field_value_{0}'.format(unique_idx) | |
* | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_unique_idx_2, __pyx_v_unique_idx) < 0) __PYX_ERR(0, 963, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_unique_idx_2, __pyx_v_unique_idx) < 0) __PYX_ERR(0, 988, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":964 | |
+ /* "falcon/routing/compiled.py":989 | |
* self._converter_idx = converter_idx | |
* self._unique_idx = unique_idx | |
* self.field_variable_name = 'field_value_{0}'.format(unique_idx) # <<<<<<<<<<<<<< | |
* | |
* def src(self, indentation): | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_field_value__0, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 964, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_field_value__0, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 989, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__pyx_t_2 = NULL; | |
__pyx_t_4 = 0; | |
@@ -18464,14 +18996,14 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_19_CxIfConverterField___ini | |
PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_unique_idx}; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 964, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 989, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_field_variable_name, __pyx_t_1) < 0) __PYX_ERR(0, 964, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_field_variable_name, __pyx_t_1) < 0) __PYX_ERR(0, 989, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":960 | |
+ /* "falcon/routing/compiled.py":985 | |
* | |
* class _CxIfConverterField(_CxParent): | |
* def __init__(self, unique_idx, converter_idx): # <<<<<<<<<<<<<< | |
@@ -18494,7 +19026,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_19_CxIfConverterField___ini | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":966 | |
+/* "falcon/routing/compiled.py":991 | |
* self.field_variable_name = 'field_value_{0}'.format(unique_idx) | |
* | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
@@ -18551,19 +19083,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 966, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 991, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_indentation)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 966, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 991, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 966, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 991, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 966, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 991, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -18576,7 +19108,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 966, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 991, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxIfConverterField.src", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -18605,47 +19137,47 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_19_CxIfConverterField_2src( | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("src", 0); | |
- /* "falcon/routing/compiled.py":968 | |
+ /* "falcon/routing/compiled.py":993 | |
* def src(self, indentation): | |
* lines = [ | |
* '{0}{1} = converters[{2}].convert(fragment)'.format( # <<<<<<<<<<<<<< | |
* _TAB_STR * indentation, | |
* self.field_variable_name, | |
*/ | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_1_converters_2_convert_fragme, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 968, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_1_converters_2_convert_fragme, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 993, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- /* "falcon/routing/compiled.py":969 | |
+ /* "falcon/routing/compiled.py":994 | |
* lines = [ | |
* '{0}{1} = converters[{2}].convert(fragment)'.format( | |
* _TAB_STR * indentation, # <<<<<<<<<<<<<< | |
* self.field_variable_name, | |
* self._converter_idx, | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 969, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 994, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 969, __pyx_L1_error) | |
+ __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 994, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- /* "falcon/routing/compiled.py":970 | |
+ /* "falcon/routing/compiled.py":995 | |
* '{0}{1} = converters[{2}].convert(fragment)'.format( | |
* _TAB_STR * indentation, | |
* self.field_variable_name, # <<<<<<<<<<<<<< | |
* self._converter_idx, | |
* ), | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_field_variable_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 970, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_field_variable_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 995, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- /* "falcon/routing/compiled.py":971 | |
+ /* "falcon/routing/compiled.py":996 | |
* _TAB_STR * indentation, | |
* self.field_variable_name, | |
* self._converter_idx, # <<<<<<<<<<<<<< | |
* ), | |
* '{0}if {1} is not None:'.format( | |
*/ | |
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_converter_idx_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 971, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_converter_idx_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 996, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__pyx_t_6 = NULL; | |
__pyx_t_7 = 0; | |
@@ -18666,34 +19198,34 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_19_CxIfConverterField_2src( | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 968, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 993, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
- /* "falcon/routing/compiled.py":973 | |
+ /* "falcon/routing/compiled.py":998 | |
* self._converter_idx, | |
* ), | |
* '{0}if {1} is not None:'.format( # <<<<<<<<<<<<<< | |
* _TAB_STR * indentation, self.field_variable_name | |
* ), | |
*/ | |
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_if_1_is_not_None, __pyx_n_s_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 973, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_if_1_is_not_None, __pyx_n_s_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 998, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
- /* "falcon/routing/compiled.py":974 | |
+ /* "falcon/routing/compiled.py":999 | |
* ), | |
* '{0}if {1} is not None:'.format( | |
* _TAB_STR * indentation, self.field_variable_name # <<<<<<<<<<<<<< | |
* ), | |
* self._children_src(indentation + 1), | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 974, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 999, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 974, __pyx_L1_error) | |
+ __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 999, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_field_variable_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 974, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_field_variable_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 999, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__pyx_t_6 = NULL; | |
__pyx_t_7 = 0; | |
@@ -18713,21 +19245,21 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_19_CxIfConverterField_2src( | |
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 973, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 998, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
} | |
- /* "falcon/routing/compiled.py":976 | |
+ /* "falcon/routing/compiled.py":1001 | |
* _TAB_STR * indentation, self.field_variable_name | |
* ), | |
* self._children_src(indentation + 1), # <<<<<<<<<<<<<< | |
* ] | |
* | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_children_src); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 976, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_children_src); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1001, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_v_indentation, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 976, __pyx_L1_error) | |
+ __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_v_indentation, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1001, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__pyx_t_6 = NULL; | |
__pyx_t_7 = 0; | |
@@ -18746,19 +19278,19 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_19_CxIfConverterField_2src( | |
__pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7); | |
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
- if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 976, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1001, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
} | |
- /* "falcon/routing/compiled.py":967 | |
+ /* "falcon/routing/compiled.py":992 | |
* | |
* def src(self, indentation): | |
* lines = [ # <<<<<<<<<<<<<< | |
* '{0}{1} = converters[{2}].convert(fragment)'.format( | |
* _TAB_STR * indentation, | |
*/ | |
- __pyx_t_3 = PyList_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 967, __pyx_L1_error) | |
+ __pyx_t_3 = PyList_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 992, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__Pyx_GIVEREF(__pyx_t_1); | |
PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); | |
@@ -18772,7 +19304,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_19_CxIfConverterField_2src( | |
__pyx_v_lines = ((PyObject*)__pyx_t_3); | |
__pyx_t_3 = 0; | |
- /* "falcon/routing/compiled.py":979 | |
+ /* "falcon/routing/compiled.py":1004 | |
* ] | |
* | |
* return '\n'.join(lines) # <<<<<<<<<<<<<< | |
@@ -18780,13 +19312,13 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_19_CxIfConverterField_2src( | |
* | |
*/ | |
__Pyx_XDECREF(__pyx_r); | |
- __pyx_t_3 = PyUnicode_Join(__pyx_kp_u__12, __pyx_v_lines); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 979, __pyx_L1_error) | |
+ __pyx_t_3 = PyUnicode_Join(__pyx_kp_u__13, __pyx_v_lines); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1004, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__pyx_r = __pyx_t_3; | |
__pyx_t_3 = 0; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":966 | |
+ /* "falcon/routing/compiled.py":991 | |
* self.field_variable_name = 'field_value_{0}'.format(unique_idx) | |
* | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
@@ -18811,9 +19343,9 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_19_CxIfConverterField_2src( | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":983 | |
+/* "falcon/routing/compiled.py":1008 | |
* | |
- * class _CxSetFragmentFromField: | |
+ * class _CxSetFragmentFromField(_CxChild): | |
* def __init__(self, field_name): # <<<<<<<<<<<<<< | |
* self._field_name = field_name | |
* | |
@@ -18868,19 +19400,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 983, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1008, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_field_name)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 983, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1008, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 983, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 1008, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 983, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 1008, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -18893,7 +19425,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 983, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1008, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxSetFragmentFromField.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -18914,18 +19446,18 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxSetFragmentFromField__ | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("__init__", 0); | |
- /* "falcon/routing/compiled.py":984 | |
- * class _CxSetFragmentFromField: | |
+ /* "falcon/routing/compiled.py":1009 | |
+ * class _CxSetFragmentFromField(_CxChild): | |
* def __init__(self, field_name): | |
* self._field_name = field_name # <<<<<<<<<<<<<< | |
* | |
* def src(self, indentation): | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_field_name_2, __pyx_v_field_name) < 0) __PYX_ERR(0, 984, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_field_name_2, __pyx_v_field_name) < 0) __PYX_ERR(0, 1009, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":983 | |
+ /* "falcon/routing/compiled.py":1008 | |
* | |
- * class _CxSetFragmentFromField: | |
+ * class _CxSetFragmentFromField(_CxChild): | |
* def __init__(self, field_name): # <<<<<<<<<<<<<< | |
* self._field_name = field_name | |
* | |
@@ -18943,7 +19475,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxSetFragmentFromField__ | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":986 | |
+/* "falcon/routing/compiled.py":1011 | |
* self._field_name = field_name | |
* | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
@@ -19000,19 +19532,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 986, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1011, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_indentation)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 986, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1011, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 986, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 1011, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 986, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 1011, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -19025,7 +19557,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 986, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1011, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxSetFragmentFromField.src", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -19052,7 +19584,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxSetFragmentFromField_2 | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("src", 0); | |
- /* "falcon/routing/compiled.py":987 | |
+ /* "falcon/routing/compiled.py":1012 | |
* | |
* def src(self, indentation): | |
* return "{0}fragment = groups.pop('{1}')".format( # <<<<<<<<<<<<<< | |
@@ -19060,30 +19592,30 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxSetFragmentFromField_2 | |
* self._field_name, | |
*/ | |
__Pyx_XDECREF(__pyx_r); | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_fragment_groups_pop_1, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 987, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_fragment_groups_pop_1, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1012, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- /* "falcon/routing/compiled.py":988 | |
+ /* "falcon/routing/compiled.py":1013 | |
* def src(self, indentation): | |
* return "{0}fragment = groups.pop('{1}')".format( | |
* _TAB_STR * indentation, # <<<<<<<<<<<<<< | |
* self._field_name, | |
* ) | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 988, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1013, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 988, __pyx_L1_error) | |
+ __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1013, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- /* "falcon/routing/compiled.py":989 | |
+ /* "falcon/routing/compiled.py":1014 | |
* return "{0}fragment = groups.pop('{1}')".format( | |
* _TAB_STR * indentation, | |
* self._field_name, # <<<<<<<<<<<<<< | |
* ) | |
* | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_field_name_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 989, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_field_name_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1014, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__pyx_t_5 = NULL; | |
__pyx_t_6 = 0; | |
@@ -19103,7 +19635,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxSetFragmentFromField_2 | |
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 987, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1012, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
@@ -19111,7 +19643,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxSetFragmentFromField_2 | |
__pyx_t_1 = 0; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":986 | |
+ /* "falcon/routing/compiled.py":1011 | |
* self._field_name = field_name | |
* | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
@@ -19134,9 +19666,9 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_23_CxSetFragmentFromField_2 | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":994 | |
+/* "falcon/routing/compiled.py":1019 | |
* | |
- * class _CxSetFragmentFromPath: | |
+ * class _CxSetFragmentFromPath(_CxChild): | |
* def __init__(self, segment_idx): # <<<<<<<<<<<<<< | |
* self._segment_idx = segment_idx | |
* | |
@@ -19191,19 +19723,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 994, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1019, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_segment_idx)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 994, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1019, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 994, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 1019, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 994, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 1019, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -19216,7 +19748,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 994, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1019, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxSetFragmentFromPath.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -19237,18 +19769,18 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_22_CxSetFragmentFromPath___ | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("__init__", 0); | |
- /* "falcon/routing/compiled.py":995 | |
- * class _CxSetFragmentFromPath: | |
+ /* "falcon/routing/compiled.py":1020 | |
+ * class _CxSetFragmentFromPath(_CxChild): | |
* def __init__(self, segment_idx): | |
* self._segment_idx = segment_idx # <<<<<<<<<<<<<< | |
* | |
* def src(self, indentation): | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_segment_idx_2, __pyx_v_segment_idx) < 0) __PYX_ERR(0, 995, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_segment_idx_2, __pyx_v_segment_idx) < 0) __PYX_ERR(0, 1020, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":994 | |
+ /* "falcon/routing/compiled.py":1019 | |
* | |
- * class _CxSetFragmentFromPath: | |
+ * class _CxSetFragmentFromPath(_CxChild): | |
* def __init__(self, segment_idx): # <<<<<<<<<<<<<< | |
* self._segment_idx = segment_idx | |
* | |
@@ -19266,7 +19798,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_22_CxSetFragmentFromPath___ | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":997 | |
+/* "falcon/routing/compiled.py":1022 | |
* self._segment_idx = segment_idx | |
* | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
@@ -19323,19 +19855,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 997, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1022, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_indentation)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 997, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1022, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 997, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 1022, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 997, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 1022, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -19348,7 +19880,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 997, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1022, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxSetFragmentFromPath.src", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -19375,7 +19907,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_22_CxSetFragmentFromPath_2s | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("src", 0); | |
- /* "falcon/routing/compiled.py":998 | |
+ /* "falcon/routing/compiled.py":1023 | |
* | |
* def src(self, indentation): | |
* return '{0}fragment = path[{1}]'.format( # <<<<<<<<<<<<<< | |
@@ -19383,30 +19915,30 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_22_CxSetFragmentFromPath_2s | |
* self._segment_idx, | |
*/ | |
__Pyx_XDECREF(__pyx_r); | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_fragment_path_1, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 998, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_fragment_path_1, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1023, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- /* "falcon/routing/compiled.py":999 | |
+ /* "falcon/routing/compiled.py":1024 | |
* def src(self, indentation): | |
* return '{0}fragment = path[{1}]'.format( | |
* _TAB_STR * indentation, # <<<<<<<<<<<<<< | |
* self._segment_idx, | |
* ) | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 999, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1024, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 999, __pyx_L1_error) | |
+ __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1024, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- /* "falcon/routing/compiled.py":1000 | |
+ /* "falcon/routing/compiled.py":1025 | |
* return '{0}fragment = path[{1}]'.format( | |
* _TAB_STR * indentation, | |
* self._segment_idx, # <<<<<<<<<<<<<< | |
* ) | |
* | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_segment_idx_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1000, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_segment_idx_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1025, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__pyx_t_5 = NULL; | |
__pyx_t_6 = 0; | |
@@ -19426,7 +19958,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_22_CxSetFragmentFromPath_2s | |
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 998, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1023, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
@@ -19434,7 +19966,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_22_CxSetFragmentFromPath_2s | |
__pyx_t_1 = 0; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":997 | |
+ /* "falcon/routing/compiled.py":1022 | |
* self._segment_idx = segment_idx | |
* | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
@@ -19457,9 +19989,9 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_22_CxSetFragmentFromPath_2s | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":1005 | |
+/* "falcon/routing/compiled.py":1030 | |
* | |
- * class _CxVariableFromPatternMatch: | |
+ * class _CxVariableFromPatternMatch(_CxChild): | |
* def __init__(self, unique_idx): # <<<<<<<<<<<<<< | |
* self._unique_idx = unique_idx | |
* self.dict_variable_name = 'dict_match_{0}'.format(unique_idx) | |
@@ -19514,19 +20046,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1005, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1030, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_unique_idx)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1005, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1030, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 1005, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 1030, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 1005, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 1030, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -19539,7 +20071,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1005, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1030, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxVariableFromPatternMatch.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -19564,23 +20096,23 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_27_CxVariableFromPatternMat | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("__init__", 0); | |
- /* "falcon/routing/compiled.py":1006 | |
- * class _CxVariableFromPatternMatch: | |
+ /* "falcon/routing/compiled.py":1031 | |
+ * class _CxVariableFromPatternMatch(_CxChild): | |
* def __init__(self, unique_idx): | |
* self._unique_idx = unique_idx # <<<<<<<<<<<<<< | |
* self.dict_variable_name = 'dict_match_{0}'.format(unique_idx) | |
* | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_unique_idx_2, __pyx_v_unique_idx) < 0) __PYX_ERR(0, 1006, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_unique_idx_2, __pyx_v_unique_idx) < 0) __PYX_ERR(0, 1031, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":1007 | |
+ /* "falcon/routing/compiled.py":1032 | |
* def __init__(self, unique_idx): | |
* self._unique_idx = unique_idx | |
* self.dict_variable_name = 'dict_match_{0}'.format(unique_idx) # <<<<<<<<<<<<<< | |
* | |
* def src(self, indentation): | |
*/ | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_dict_match__0, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1007, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_dict_match__0, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1032, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__pyx_t_3 = NULL; | |
__pyx_t_4 = 0; | |
@@ -19598,16 +20130,16 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_27_CxVariableFromPatternMat | |
PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_unique_idx}; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1007, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1032, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_dict_variable_name, __pyx_t_1) < 0) __PYX_ERR(0, 1007, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_dict_variable_name, __pyx_t_1) < 0) __PYX_ERR(0, 1032, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":1005 | |
+ /* "falcon/routing/compiled.py":1030 | |
* | |
- * class _CxVariableFromPatternMatch: | |
+ * class _CxVariableFromPatternMatch(_CxChild): | |
* def __init__(self, unique_idx): # <<<<<<<<<<<<<< | |
* self._unique_idx = unique_idx | |
* self.dict_variable_name = 'dict_match_{0}'.format(unique_idx) | |
@@ -19628,7 +20160,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_27_CxVariableFromPatternMat | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":1009 | |
+/* "falcon/routing/compiled.py":1034 | |
* self.dict_variable_name = 'dict_match_{0}'.format(unique_idx) | |
* | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
@@ -19685,19 +20217,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1009, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1034, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_indentation)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1009, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1034, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 1009, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 1034, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 1009, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 1034, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -19710,7 +20242,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1009, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1034, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxVariableFromPatternMatch.src", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -19737,7 +20269,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_27_CxVariableFromPatternMat | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("src", 0); | |
- /* "falcon/routing/compiled.py":1010 | |
+ /* "falcon/routing/compiled.py":1035 | |
* | |
* def src(self, indentation): | |
* return '{0}{1} = match.groupdict()'.format( # <<<<<<<<<<<<<< | |
@@ -19745,22 +20277,22 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_27_CxVariableFromPatternMat | |
* ) | |
*/ | |
__Pyx_XDECREF(__pyx_r); | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_1_match_groupdict, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1010, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_1_match_groupdict, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1035, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- /* "falcon/routing/compiled.py":1011 | |
+ /* "falcon/routing/compiled.py":1036 | |
* def src(self, indentation): | |
* return '{0}{1} = match.groupdict()'.format( | |
* _TAB_STR * indentation, self.dict_variable_name # <<<<<<<<<<<<<< | |
* ) | |
* | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1011, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1036, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1011, __pyx_L1_error) | |
+ __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1036, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dict_variable_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1011, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dict_variable_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1036, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__pyx_t_5 = NULL; | |
__pyx_t_6 = 0; | |
@@ -19780,7 +20312,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_27_CxVariableFromPatternMat | |
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1010, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1035, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
@@ -19788,7 +20320,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_27_CxVariableFromPatternMat | |
__pyx_t_1 = 0; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":1009 | |
+ /* "falcon/routing/compiled.py":1034 | |
* self.dict_variable_name = 'dict_match_{0}'.format(unique_idx) | |
* | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
@@ -19811,9 +20343,9 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_27_CxVariableFromPatternMat | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":1016 | |
+/* "falcon/routing/compiled.py":1041 | |
* | |
- * class _CxVariableFromPatternMatchPrefetched: | |
+ * class _CxVariableFromPatternMatchPrefetched(_CxChild): | |
* def __init__(self, unique_idx): # <<<<<<<<<<<<<< | |
* self._unique_idx = unique_idx | |
* self.dict_variable_name = 'dict_groups_{0}'.format(unique_idx) | |
@@ -19868,19 +20400,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1016, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1041, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_unique_idx)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1016, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1041, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 1016, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 1041, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 1016, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 1041, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -19893,7 +20425,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1016, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1041, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxVariableFromPatternMatchPrefetched.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -19918,23 +20450,23 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_37_CxVariableFromPatternMat | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("__init__", 0); | |
- /* "falcon/routing/compiled.py":1017 | |
- * class _CxVariableFromPatternMatchPrefetched: | |
+ /* "falcon/routing/compiled.py":1042 | |
+ * class _CxVariableFromPatternMatchPrefetched(_CxChild): | |
* def __init__(self, unique_idx): | |
* self._unique_idx = unique_idx # <<<<<<<<<<<<<< | |
* self.dict_variable_name = 'dict_groups_{0}'.format(unique_idx) | |
* | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_unique_idx_2, __pyx_v_unique_idx) < 0) __PYX_ERR(0, 1017, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_unique_idx_2, __pyx_v_unique_idx) < 0) __PYX_ERR(0, 1042, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":1018 | |
+ /* "falcon/routing/compiled.py":1043 | |
* def __init__(self, unique_idx): | |
* self._unique_idx = unique_idx | |
* self.dict_variable_name = 'dict_groups_{0}'.format(unique_idx) # <<<<<<<<<<<<<< | |
* | |
* def src(self, indentation): | |
*/ | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_dict_groups__0, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1018, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_dict_groups__0, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1043, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
__pyx_t_3 = NULL; | |
__pyx_t_4 = 0; | |
@@ -19952,16 +20484,16 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_37_CxVariableFromPatternMat | |
PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_unique_idx}; | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4); | |
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1018, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1043, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_dict_variable_name, __pyx_t_1) < 0) __PYX_ERR(0, 1018, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_dict_variable_name, __pyx_t_1) < 0) __PYX_ERR(0, 1043, __pyx_L1_error) | |
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
- /* "falcon/routing/compiled.py":1016 | |
+ /* "falcon/routing/compiled.py":1041 | |
* | |
- * class _CxVariableFromPatternMatchPrefetched: | |
+ * class _CxVariableFromPatternMatchPrefetched(_CxChild): | |
* def __init__(self, unique_idx): # <<<<<<<<<<<<<< | |
* self._unique_idx = unique_idx | |
* self.dict_variable_name = 'dict_groups_{0}'.format(unique_idx) | |
@@ -19982,7 +20514,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_37_CxVariableFromPatternMat | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":1020 | |
+/* "falcon/routing/compiled.py":1045 | |
* self.dict_variable_name = 'dict_groups_{0}'.format(unique_idx) | |
* | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
@@ -20039,19 +20571,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1020, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1045, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_indentation)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1020, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1045, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 1020, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 1045, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 1020, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 1045, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -20064,7 +20596,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1020, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1045, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxVariableFromPatternMatchPrefetched.src", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -20091,7 +20623,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_37_CxVariableFromPatternMat | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("src", 0); | |
- /* "falcon/routing/compiled.py":1021 | |
+ /* "falcon/routing/compiled.py":1046 | |
* | |
* def src(self, indentation): | |
* return '{0}{1} = groups'.format(_TAB_STR * indentation, self.dict_variable_name) # <<<<<<<<<<<<<< | |
@@ -20099,14 +20631,14 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_37_CxVariableFromPatternMat | |
* | |
*/ | |
__Pyx_XDECREF(__pyx_r); | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_1_groups, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1021, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_1_groups, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1046, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1021, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1046, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1021, __pyx_L1_error) | |
+ __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1046, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dict_variable_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1021, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dict_variable_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1046, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__pyx_t_5 = NULL; | |
__pyx_t_6 = 0; | |
@@ -20126,7 +20658,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_37_CxVariableFromPatternMat | |
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1021, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1046, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
@@ -20134,7 +20666,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_37_CxVariableFromPatternMat | |
__pyx_t_1 = 0; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":1020 | |
+ /* "falcon/routing/compiled.py":1045 | |
* self.dict_variable_name = 'dict_groups_{0}'.format(unique_idx) | |
* | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
@@ -20157,9 +20689,9 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_37_CxVariableFromPatternMat | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":1025 | |
+/* "falcon/routing/compiled.py":1050 | |
* | |
- * class _CxPrefetchGroupsFromPatternMatch: | |
+ * class _CxPrefetchGroupsFromPatternMatch(_CxChild): | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
* return '{0}groups = match.groupdict()'.format(_TAB_STR * indentation) | |
* | |
@@ -20214,19 +20746,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1025, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1050, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_indentation)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1025, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1050, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 1025, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 1050, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 1025, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 1050, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -20239,7 +20771,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1025, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1050, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxPrefetchGroupsFromPatternMatch.src", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -20265,19 +20797,19 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_33_CxPrefetchGroupsFromPatt | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("src", 0); | |
- /* "falcon/routing/compiled.py":1026 | |
- * class _CxPrefetchGroupsFromPatternMatch: | |
+ /* "falcon/routing/compiled.py":1051 | |
+ * class _CxPrefetchGroupsFromPatternMatch(_CxChild): | |
* def src(self, indentation): | |
* return '{0}groups = match.groupdict()'.format(_TAB_STR * indentation) # <<<<<<<<<<<<<< | |
* | |
* | |
*/ | |
__Pyx_XDECREF(__pyx_r); | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_groups_match_groupdict, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1026, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_groups_match_groupdict, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1051, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1026, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1051, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1026, __pyx_L1_error) | |
+ __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1051, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
__pyx_t_3 = NULL; | |
@@ -20297,7 +20829,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_33_CxPrefetchGroupsFromPatt | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); | |
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1026, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1051, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
@@ -20305,9 +20837,9 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_33_CxPrefetchGroupsFromPatt | |
__pyx_t_1 = 0; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":1025 | |
+ /* "falcon/routing/compiled.py":1050 | |
* | |
- * class _CxPrefetchGroupsFromPatternMatch: | |
+ * class _CxPrefetchGroupsFromPatternMatch(_CxChild): | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
* return '{0}groups = match.groupdict()'.format(_TAB_STR * indentation) | |
* | |
@@ -20327,9 +20859,9 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_33_CxPrefetchGroupsFromPatt | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":1030 | |
+/* "falcon/routing/compiled.py":1055 | |
* | |
- * class _CxReturnNone: | |
+ * class _CxReturnNone(_CxChild): | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
* return '{0}return None'.format(_TAB_STR * indentation) | |
* | |
@@ -20384,19 +20916,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1030, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1055, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_indentation)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1030, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1055, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 1030, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 1055, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 1030, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 1055, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -20409,7 +20941,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1030, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1055, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxReturnNone.src", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -20435,19 +20967,19 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13_CxReturnNone_src(CYTHON_ | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("src", 0); | |
- /* "falcon/routing/compiled.py":1031 | |
- * class _CxReturnNone: | |
+ /* "falcon/routing/compiled.py":1056 | |
+ * class _CxReturnNone(_CxChild): | |
* def src(self, indentation): | |
* return '{0}return None'.format(_TAB_STR * indentation) # <<<<<<<<<<<<<< | |
* | |
* | |
*/ | |
__Pyx_XDECREF(__pyx_r); | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_return_None, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1031, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_return_None, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1056, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1031, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1056, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1031, __pyx_L1_error) | |
+ __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1056, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
__pyx_t_3 = NULL; | |
@@ -20467,7 +20999,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13_CxReturnNone_src(CYTHON_ | |
__pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5); | |
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1031, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1056, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
@@ -20475,9 +21007,9 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13_CxReturnNone_src(CYTHON_ | |
__pyx_t_1 = 0; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":1030 | |
+ /* "falcon/routing/compiled.py":1055 | |
* | |
- * class _CxReturnNone: | |
+ * class _CxReturnNone(_CxChild): | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
* return '{0}return None'.format(_TAB_STR * indentation) | |
* | |
@@ -20497,9 +21029,9 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_13_CxReturnNone_src(CYTHON_ | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":1035 | |
+/* "falcon/routing/compiled.py":1060 | |
* | |
- * class _CxReturnValue: | |
+ * class _CxReturnValue(_CxChild): | |
* def __init__(self, value_idx): # <<<<<<<<<<<<<< | |
* self._value_idx = value_idx | |
* | |
@@ -20554,19 +21086,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1035, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1060, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value_idx)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1035, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1060, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 1035, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 1060, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 1035, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 1060, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -20579,7 +21111,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1035, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1060, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxReturnValue.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -20600,18 +21132,18 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14_CxReturnValue___init__(C | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("__init__", 0); | |
- /* "falcon/routing/compiled.py":1036 | |
- * class _CxReturnValue: | |
+ /* "falcon/routing/compiled.py":1061 | |
+ * class _CxReturnValue(_CxChild): | |
* def __init__(self, value_idx): | |
* self._value_idx = value_idx # <<<<<<<<<<<<<< | |
* | |
* def src(self, indentation): | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_value_idx_2, __pyx_v_value_idx) < 0) __PYX_ERR(0, 1036, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_value_idx_2, __pyx_v_value_idx) < 0) __PYX_ERR(0, 1061, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":1035 | |
+ /* "falcon/routing/compiled.py":1060 | |
* | |
- * class _CxReturnValue: | |
+ * class _CxReturnValue(_CxChild): | |
* def __init__(self, value_idx): # <<<<<<<<<<<<<< | |
* self._value_idx = value_idx | |
* | |
@@ -20629,7 +21161,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14_CxReturnValue___init__(C | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":1038 | |
+/* "falcon/routing/compiled.py":1063 | |
* self._value_idx = value_idx | |
* | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
@@ -20686,19 +21218,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1038, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1063, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_indentation)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1038, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1063, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 1038, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 1063, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 1038, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 1063, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -20711,7 +21243,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1038, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1063, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxReturnValue.src", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -20738,7 +21270,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14_CxReturnValue_2src(CYTHO | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("src", 0); | |
- /* "falcon/routing/compiled.py":1039 | |
+ /* "falcon/routing/compiled.py":1064 | |
* | |
* def src(self, indentation): | |
* return '{0}return return_values[{1}]'.format( # <<<<<<<<<<<<<< | |
@@ -20746,22 +21278,22 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14_CxReturnValue_2src(CYTHO | |
* ) | |
*/ | |
__Pyx_XDECREF(__pyx_r); | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_return_return_values_1, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1039, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_return_return_values_1, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1064, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- /* "falcon/routing/compiled.py":1040 | |
+ /* "falcon/routing/compiled.py":1065 | |
* def src(self, indentation): | |
* return '{0}return return_values[{1}]'.format( | |
* _TAB_STR * indentation, self._value_idx # <<<<<<<<<<<<<< | |
* ) | |
* | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1040, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1065, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1040, __pyx_L1_error) | |
+ __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1065, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_value_idx_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1040, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_value_idx_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1065, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__pyx_t_5 = NULL; | |
__pyx_t_6 = 0; | |
@@ -20781,7 +21313,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14_CxReturnValue_2src(CYTHO | |
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1039, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1064, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
@@ -20789,7 +21321,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14_CxReturnValue_2src(CYTHO | |
__pyx_t_1 = 0; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":1038 | |
+ /* "falcon/routing/compiled.py":1063 | |
* self._value_idx = value_idx | |
* | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
@@ -20812,9 +21344,9 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_14_CxReturnValue_2src(CYTHO | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":1045 | |
+/* "falcon/routing/compiled.py":1070 | |
* | |
- * class _CxSetParamFromPath: | |
+ * class _CxSetParamFromPath(_CxChild): | |
* def __init__(self, param_name, segment_idx): # <<<<<<<<<<<<<< | |
* self._param_name = param_name | |
* self._segment_idx = segment_idx | |
@@ -20872,26 +21404,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1045, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1070, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_param_name)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1045, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1070, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); __PYX_ERR(0, 1045, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); __PYX_ERR(0, 1070, __pyx_L3_error) | |
} | |
CYTHON_FALLTHROUGH; | |
case 2: | |
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_segment_idx)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1045, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1070, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); __PYX_ERR(0, 1045, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); __PYX_ERR(0, 1070, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 1045, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 1070, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 3)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -20906,7 +21438,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1045, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1070, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxSetParamFromPath.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -20927,27 +21459,27 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_19_CxSetParamFromPath___ini | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("__init__", 0); | |
- /* "falcon/routing/compiled.py":1046 | |
- * class _CxSetParamFromPath: | |
+ /* "falcon/routing/compiled.py":1071 | |
+ * class _CxSetParamFromPath(_CxChild): | |
* def __init__(self, param_name, segment_idx): | |
* self._param_name = param_name # <<<<<<<<<<<<<< | |
* self._segment_idx = segment_idx | |
* | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_param_name_2, __pyx_v_param_name) < 0) __PYX_ERR(0, 1046, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_param_name_2, __pyx_v_param_name) < 0) __PYX_ERR(0, 1071, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":1047 | |
+ /* "falcon/routing/compiled.py":1072 | |
* def __init__(self, param_name, segment_idx): | |
* self._param_name = param_name | |
* self._segment_idx = segment_idx # <<<<<<<<<<<<<< | |
* | |
* def src(self, indentation): | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_segment_idx_2, __pyx_v_segment_idx) < 0) __PYX_ERR(0, 1047, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_segment_idx_2, __pyx_v_segment_idx) < 0) __PYX_ERR(0, 1072, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":1045 | |
+ /* "falcon/routing/compiled.py":1070 | |
* | |
- * class _CxSetParamFromPath: | |
+ * class _CxSetParamFromPath(_CxChild): | |
* def __init__(self, param_name, segment_idx): # <<<<<<<<<<<<<< | |
* self._param_name = param_name | |
* self._segment_idx = segment_idx | |
@@ -20965,7 +21497,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_19_CxSetParamFromPath___ini | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":1049 | |
+/* "falcon/routing/compiled.py":1074 | |
* self._segment_idx = segment_idx | |
* | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
@@ -21022,19 +21554,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1049, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1074, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_indentation)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1049, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1074, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 1049, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 1074, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 1049, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 1074, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -21047,7 +21579,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1049, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1074, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxSetParamFromPath.src", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -21075,7 +21607,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_19_CxSetParamFromPath_2src( | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("src", 0); | |
- /* "falcon/routing/compiled.py":1050 | |
+ /* "falcon/routing/compiled.py":1075 | |
* | |
* def src(self, indentation): | |
* return "{0}params['{1}'] = path[{2}]".format( # <<<<<<<<<<<<<< | |
@@ -21083,40 +21615,40 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_19_CxSetParamFromPath_2src( | |
* self._param_name, | |
*/ | |
__Pyx_XDECREF(__pyx_r); | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_params_1_path_2, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1050, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_params_1_path_2, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1075, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- /* "falcon/routing/compiled.py":1051 | |
+ /* "falcon/routing/compiled.py":1076 | |
* def src(self, indentation): | |
* return "{0}params['{1}'] = path[{2}]".format( | |
* _TAB_STR * indentation, # <<<<<<<<<<<<<< | |
* self._param_name, | |
* self._segment_idx, | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1051, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1076, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1051, __pyx_L1_error) | |
+ __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1076, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- /* "falcon/routing/compiled.py":1052 | |
+ /* "falcon/routing/compiled.py":1077 | |
* return "{0}params['{1}'] = path[{2}]".format( | |
* _TAB_STR * indentation, | |
* self._param_name, # <<<<<<<<<<<<<< | |
* self._segment_idx, | |
* ) | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_param_name_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1052, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_param_name_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1077, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- /* "falcon/routing/compiled.py":1053 | |
+ /* "falcon/routing/compiled.py":1078 | |
* _TAB_STR * indentation, | |
* self._param_name, | |
* self._segment_idx, # <<<<<<<<<<<<<< | |
* ) | |
* | |
*/ | |
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_segment_idx_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1053, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_segment_idx_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1078, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__pyx_t_6 = NULL; | |
__pyx_t_7 = 0; | |
@@ -21137,7 +21669,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_19_CxSetParamFromPath_2src( | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1050, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1075, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
@@ -21145,7 +21677,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_19_CxSetParamFromPath_2src( | |
__pyx_t_1 = 0; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":1049 | |
+ /* "falcon/routing/compiled.py":1074 | |
* self._segment_idx = segment_idx | |
* | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
@@ -21169,9 +21701,9 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_19_CxSetParamFromPath_2src( | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":1058 | |
+/* "falcon/routing/compiled.py":1083 | |
* | |
- * class _CxSetParamFromValue: | |
+ * class _CxSetParamFromValue(_CxChild): | |
* def __init__(self, param_name, field_value_name): # <<<<<<<<<<<<<< | |
* self._param_name = param_name | |
* self._field_value_name = field_value_name | |
@@ -21229,26 +21761,26 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1058, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1083, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_param_name)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1058, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1083, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); __PYX_ERR(0, 1058, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); __PYX_ERR(0, 1083, __pyx_L3_error) | |
} | |
CYTHON_FALLTHROUGH; | |
case 2: | |
if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_field_value_name)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1058, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1083, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); __PYX_ERR(0, 1058, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); __PYX_ERR(0, 1083, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 1058, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 1083, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 3)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -21263,7 +21795,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1058, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 1083, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxSetParamFromValue.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -21284,27 +21816,27 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_20_CxSetParamFromValue___in | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("__init__", 0); | |
- /* "falcon/routing/compiled.py":1059 | |
- * class _CxSetParamFromValue: | |
+ /* "falcon/routing/compiled.py":1084 | |
+ * class _CxSetParamFromValue(_CxChild): | |
* def __init__(self, param_name, field_value_name): | |
* self._param_name = param_name # <<<<<<<<<<<<<< | |
* self._field_value_name = field_value_name | |
* | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_param_name_2, __pyx_v_param_name) < 0) __PYX_ERR(0, 1059, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_param_name_2, __pyx_v_param_name) < 0) __PYX_ERR(0, 1084, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":1060 | |
+ /* "falcon/routing/compiled.py":1085 | |
* def __init__(self, param_name, field_value_name): | |
* self._param_name = param_name | |
* self._field_value_name = field_value_name # <<<<<<<<<<<<<< | |
* | |
* def src(self, indentation): | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_field_value_name_2, __pyx_v_field_value_name) < 0) __PYX_ERR(0, 1060, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_field_value_name_2, __pyx_v_field_value_name) < 0) __PYX_ERR(0, 1085, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":1058 | |
+ /* "falcon/routing/compiled.py":1083 | |
* | |
- * class _CxSetParamFromValue: | |
+ * class _CxSetParamFromValue(_CxChild): | |
* def __init__(self, param_name, field_value_name): # <<<<<<<<<<<<<< | |
* self._param_name = param_name | |
* self._field_value_name = field_value_name | |
@@ -21322,7 +21854,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_20_CxSetParamFromValue___in | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":1062 | |
+/* "falcon/routing/compiled.py":1087 | |
* self._field_value_name = field_value_name | |
* | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
@@ -21379,19 +21911,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1062, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1087, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_indentation)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1062, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1087, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 1062, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 1087, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 1062, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 1087, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -21404,7 +21936,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1062, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1087, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxSetParamFromValue.src", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -21432,7 +21964,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_20_CxSetParamFromValue_2src | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("src", 0); | |
- /* "falcon/routing/compiled.py":1063 | |
+ /* "falcon/routing/compiled.py":1088 | |
* | |
* def src(self, indentation): | |
* return "{0}params['{1}'] = {2}".format( # <<<<<<<<<<<<<< | |
@@ -21440,40 +21972,40 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_20_CxSetParamFromValue_2src | |
* self._param_name, | |
*/ | |
__Pyx_XDECREF(__pyx_r); | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_params_1_2, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1063, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_params_1_2, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1088, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- /* "falcon/routing/compiled.py":1064 | |
+ /* "falcon/routing/compiled.py":1089 | |
* def src(self, indentation): | |
* return "{0}params['{1}'] = {2}".format( | |
* _TAB_STR * indentation, # <<<<<<<<<<<<<< | |
* self._param_name, | |
* self._field_value_name, | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1064, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1089, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1064, __pyx_L1_error) | |
+ __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1089, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- /* "falcon/routing/compiled.py":1065 | |
+ /* "falcon/routing/compiled.py":1090 | |
* return "{0}params['{1}'] = {2}".format( | |
* _TAB_STR * indentation, | |
* self._param_name, # <<<<<<<<<<<<<< | |
* self._field_value_name, | |
* ) | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_param_name_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1065, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_param_name_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1090, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- /* "falcon/routing/compiled.py":1066 | |
+ /* "falcon/routing/compiled.py":1091 | |
* _TAB_STR * indentation, | |
* self._param_name, | |
* self._field_value_name, # <<<<<<<<<<<<<< | |
* ) | |
* | |
*/ | |
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_field_value_name_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1066, __pyx_L1_error) | |
+ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_field_value_name_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1091, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_5); | |
__pyx_t_6 = NULL; | |
__pyx_t_7 = 0; | |
@@ -21494,7 +22026,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_20_CxSetParamFromValue_2src | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1063, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1088, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
@@ -21502,7 +22034,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_20_CxSetParamFromValue_2src | |
__pyx_t_1 = 0; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":1062 | |
+ /* "falcon/routing/compiled.py":1087 | |
* self._field_value_name = field_value_name | |
* | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
@@ -21526,9 +22058,9 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_20_CxSetParamFromValue_2src | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":1071 | |
+/* "falcon/routing/compiled.py":1096 | |
* | |
- * class _CxSetParamsFromDict: | |
+ * class _CxSetParamsFromDict(_CxChild): | |
* def __init__(self, dict_value_name): # <<<<<<<<<<<<<< | |
* self._dict_value_name = dict_value_name | |
* | |
@@ -21583,19 +22115,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1071, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1096, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_dict_value_name)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1071, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1096, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 1071, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 1096, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 1071, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 1096, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -21608,7 +22140,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1071, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1096, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxSetParamsFromDict.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -21629,18 +22161,18 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_20_CxSetParamsFromDict___in | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("__init__", 0); | |
- /* "falcon/routing/compiled.py":1072 | |
- * class _CxSetParamsFromDict: | |
+ /* "falcon/routing/compiled.py":1097 | |
+ * class _CxSetParamsFromDict(_CxChild): | |
* def __init__(self, dict_value_name): | |
* self._dict_value_name = dict_value_name # <<<<<<<<<<<<<< | |
* | |
* def src(self, indentation): | |
*/ | |
- if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_dict_value_name_2, __pyx_v_dict_value_name) < 0) __PYX_ERR(0, 1072, __pyx_L1_error) | |
+ if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_dict_value_name_2, __pyx_v_dict_value_name) < 0) __PYX_ERR(0, 1097, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":1071 | |
+ /* "falcon/routing/compiled.py":1096 | |
* | |
- * class _CxSetParamsFromDict: | |
+ * class _CxSetParamsFromDict(_CxChild): | |
* def __init__(self, dict_value_name): # <<<<<<<<<<<<<< | |
* self._dict_value_name = dict_value_name | |
* | |
@@ -21658,7 +22190,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_20_CxSetParamsFromDict___in | |
return __pyx_r; | |
} | |
-/* "falcon/routing/compiled.py":1074 | |
+/* "falcon/routing/compiled.py":1099 | |
* self._dict_value_name = dict_value_name | |
* | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
@@ -21715,19 +22247,19 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
switch (__pyx_nargs) { | |
case 0: | |
if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_self)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1074, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1099, __pyx_L3_error) | |
else goto __pyx_L5_argtuple_error; | |
CYTHON_FALLTHROUGH; | |
case 1: | |
if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_indentation)) != 0)) kw_args--; | |
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1074, __pyx_L3_error) | |
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1099, __pyx_L3_error) | |
else { | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 1074, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, 1); __PYX_ERR(0, 1099, __pyx_L3_error) | |
} | |
} | |
if (unlikely(kw_args > 0)) { | |
const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 1074, __pyx_L3_error) | |
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "src") < 0)) __PYX_ERR(0, 1099, __pyx_L3_error) | |
} | |
} else if (unlikely(__pyx_nargs != 2)) { | |
goto __pyx_L5_argtuple_error; | |
@@ -21740,7 +22272,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds | |
} | |
goto __pyx_L4_argument_unpacking_done; | |
__pyx_L5_argtuple_error:; | |
- __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1074, __pyx_L3_error) | |
+ __Pyx_RaiseArgtupleInvalid("src", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 1099, __pyx_L3_error) | |
__pyx_L3_error:; | |
__Pyx_AddTraceback("falcon.routing.compiled._CxSetParamsFromDict.src", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
__Pyx_RefNannyFinishContext(); | |
@@ -21767,7 +22299,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_20_CxSetParamsFromDict_2src | |
int __pyx_clineno = 0; | |
__Pyx_RefNannySetupContext("src", 0); | |
- /* "falcon/routing/compiled.py":1075 | |
+ /* "falcon/routing/compiled.py":1100 | |
* | |
* def src(self, indentation): | |
* return '{0}params.update({1})'.format( # <<<<<<<<<<<<<< | |
@@ -21775,29 +22307,29 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_20_CxSetParamsFromDict_2src | |
* self._dict_value_name, | |
*/ | |
__Pyx_XDECREF(__pyx_r); | |
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_params_update_1, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1075, __pyx_L1_error) | |
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_0_params_update_1, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1100, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_2); | |
- /* "falcon/routing/compiled.py":1076 | |
+ /* "falcon/routing/compiled.py":1101 | |
* def src(self, indentation): | |
* return '{0}params.update({1})'.format( | |
* _TAB_STR * indentation, # <<<<<<<<<<<<<< | |
* self._dict_value_name, | |
* ) | |
*/ | |
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1076, __pyx_L1_error) | |
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_TAB_STR); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1101, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
- __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1076, __pyx_L1_error) | |
+ __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_v_indentation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1101, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_4); | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- /* "falcon/routing/compiled.py":1077 | |
+ /* "falcon/routing/compiled.py":1102 | |
* return '{0}params.update({1})'.format( | |
* _TAB_STR * indentation, | |
* self._dict_value_name, # <<<<<<<<<<<<<< | |
* ) | |
*/ | |
- __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dict_value_name_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1077, __pyx_L1_error) | |
+ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dict_value_name_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1102, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_3); | |
__pyx_t_5 = NULL; | |
__pyx_t_6 = 0; | |
@@ -21817,7 +22349,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_20_CxSetParamsFromDict_2src | |
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1075, __pyx_L1_error) | |
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1100, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_t_1); | |
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
} | |
@@ -21825,7 +22357,7 @@ static PyObject *__pyx_pf_6falcon_7routing_8compiled_20_CxSetParamsFromDict_2src | |
__pyx_t_1 = 0; | |
goto __pyx_L0; | |
- /* "falcon/routing/compiled.py":1074 | |
+ /* "falcon/routing/compiled.py":1099 | |
* self._dict_value_name = dict_value_name | |
* | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
@@ -21900,9 +22432,6 @@ static int __pyx_tp_traverse_6falcon_7routing_8compiled___pyx_scope_struct__add_ | |
if (p->__pyx_v_resource) { | |
e = (*v)(p->__pyx_v_resource, a); if (e) return e; | |
} | |
- if (p->__pyx_v_uri_template) { | |
- e = (*v)(p->__pyx_v_uri_template, a); if (e) return e; | |
- } | |
return 0; | |
} | |
@@ -21921,9 +22450,6 @@ static int __pyx_tp_clear_6falcon_7routing_8compiled___pyx_scope_struct__add_rou | |
tmp = ((PyObject*)p->__pyx_v_resource); | |
p->__pyx_v_resource = Py_None; Py_INCREF(Py_None); | |
Py_XDECREF(tmp); | |
- tmp = ((PyObject*)p->__pyx_v_uri_template); | |
- p->__pyx_v_uri_template = Py_None; Py_INCREF(Py_None); | |
- Py_XDECREF(tmp); | |
return 0; | |
} | |
#if CYTHON_USE_TYPE_SPECS | |
@@ -22071,7 +22597,7 @@ static int __pyx_tp_clear_6falcon_7routing_8compiled___pyx_scope_struct_1__requi | |
p->__pyx_v_method = Py_None; Py_INCREF(Py_None); | |
Py_XDECREF(tmp); | |
tmp = ((PyObject*)p->__pyx_v_method_map); | |
- p->__pyx_v_method_map = Py_None; Py_INCREF(Py_None); | |
+ p->__pyx_v_method_map = ((PyObject*)Py_None); Py_INCREF(Py_None); | |
Py_XDECREF(tmp); | |
return 0; | |
} | |
@@ -22343,9 +22869,12 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{0, __pyx_k_0_return_return_values_1, sizeof(__pyx_k_0_return_return_values_1), 0, 1, 0, 0}, | |
{0, __pyx_k_A_Za_z__A_Za_z0_9, sizeof(__pyx_k_A_Za_z__A_Za_z0_9), 0, 1, 0, 0}, | |
{0, __pyx_k_A_dict_like_class_for_storing_fi, sizeof(__pyx_k_A_dict_like_class_for_storing_fi), 0, 0, 1, 0}, | |
+ {0, __pyx_k_Any, sizeof(__pyx_k_Any), 0, 0, 1, 1}, | |
{0, __pyx_k_AssertionError, sizeof(__pyx_k_AssertionError), 0, 0, 1, 1}, | |
{0, __pyx_k_AttributeError, sizeof(__pyx_k_AttributeError), 0, 0, 1, 1}, | |
{0, __pyx_k_BUILTIN, sizeof(__pyx_k_BUILTIN), 0, 0, 1, 1}, | |
+ {0, __pyx_k_Callable, sizeof(__pyx_k_Callable), 0, 0, 1, 1}, | |
+ {0, __pyx_k_Callable_2, sizeof(__pyx_k_Callable_2), 0, 0, 1, 0}, | |
{0, __pyx_k_Cannot_instantiate_converter, sizeof(__pyx_k_Cannot_instantiate_converter), 0, 1, 0, 0}, | |
{0, __pyx_k_CompiledRouter, sizeof(__pyx_k_CompiledRouter), 0, 0, 1, 1}, | |
{0, __pyx_k_CompiledRouterNode, sizeof(__pyx_k_CompiledRouterNode), 0, 0, 1, 1}, | |
@@ -22354,6 +22883,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{0, __pyx_k_CompiledRouterNode_conflicts_wit, sizeof(__pyx_k_CompiledRouterNode_conflicts_wit), 0, 0, 1, 1}, | |
{0, __pyx_k_CompiledRouterNode_matches, sizeof(__pyx_k_CompiledRouterNode_matches), 0, 0, 1, 1}, | |
{0, __pyx_k_CompiledRouterOptions, sizeof(__pyx_k_CompiledRouterOptions), 0, 0, 1, 1}, | |
+ {0, __pyx_k_CompiledRouterOptions_2, sizeof(__pyx_k_CompiledRouterOptions_2), 0, 0, 1, 0}, | |
{0, __pyx_k_CompiledRouterOptions___init, sizeof(__pyx_k_CompiledRouterOptions___init), 0, 0, 1, 1}, | |
{0, __pyx_k_CompiledRouterOptions___init___l, sizeof(__pyx_k_CompiledRouterOptions___init___l), 0, 0, 1, 1}, | |
{0, __pyx_k_CompiledRouter___init, sizeof(__pyx_k_CompiledRouter___init), 0, 0, 1, 1}, | |
@@ -22377,6 +22907,11 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{0, __pyx_k_ConverterDict___setitem, sizeof(__pyx_k_ConverterDict___setitem), 0, 0, 1, 1}, | |
{0, __pyx_k_ConverterDict__validate, sizeof(__pyx_k_ConverterDict__validate), 0, 0, 1, 1}, | |
{0, __pyx_k_ConverterDict_update, sizeof(__pyx_k_ConverterDict_update), 0, 0, 1, 1}, | |
+ {0, __pyx_k_CxChild, sizeof(__pyx_k_CxChild), 0, 0, 1, 1}, | |
+ {0, __pyx_k_CxChild, sizeof(__pyx_k_CxChild), 0, 1, 0, 1}, | |
+ {0, __pyx_k_CxChild_src, sizeof(__pyx_k_CxChild_src), 0, 0, 1, 1}, | |
+ {0, __pyx_k_CxElement, sizeof(__pyx_k_CxElement), 0, 0, 1, 1}, | |
+ {0, __pyx_k_CxElement_2, sizeof(__pyx_k_CxElement_2), 0, 0, 1, 0}, | |
{0, __pyx_k_CxIfConverterField, sizeof(__pyx_k_CxIfConverterField), 0, 0, 1, 1}, | |
{0, __pyx_k_CxIfConverterField___init, sizeof(__pyx_k_CxIfConverterField___init), 0, 0, 1, 1}, | |
{0, __pyx_k_CxIfConverterField_src, sizeof(__pyx_k_CxIfConverterField_src), 0, 0, 1, 1}, | |
@@ -22390,6 +22925,8 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{0, __pyx_k_CxIfPathSegmentPattern___init, sizeof(__pyx_k_CxIfPathSegmentPattern___init), 0, 0, 1, 1}, | |
{0, __pyx_k_CxIfPathSegmentPattern_src, sizeof(__pyx_k_CxIfPathSegmentPattern_src), 0, 0, 1, 1}, | |
{0, __pyx_k_CxParent, sizeof(__pyx_k_CxParent), 0, 0, 1, 1}, | |
+ {0, __pyx_k_CxParent, sizeof(__pyx_k_CxParent), 0, 1, 0, 1}, | |
+ {0, __pyx_k_CxParent_2, sizeof(__pyx_k_CxParent_2), 0, 0, 1, 0}, | |
{0, __pyx_k_CxParent___init, sizeof(__pyx_k_CxParent___init), 0, 0, 1, 1}, | |
{0, __pyx_k_CxParent__children_src, sizeof(__pyx_k_CxParent__children_src), 0, 0, 1, 1}, | |
{0, __pyx_k_CxParent_append_child, sizeof(__pyx_k_CxParent_append_child), 0, 0, 1, 1}, | |
@@ -22423,6 +22960,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{0, __pyx_k_CxVariableFromPatternMatch___in, sizeof(__pyx_k_CxVariableFromPatternMatch___in), 0, 0, 1, 1}, | |
{0, __pyx_k_CxVariableFromPatternMatch_src, sizeof(__pyx_k_CxVariableFromPatternMatch_src), 0, 0, 1, 1}, | |
{0, __pyx_k_Defines_a_set_of_configurable_ro, sizeof(__pyx_k_Defines_a_set_of_configurable_ro), 0, 0, 1, 0}, | |
+ {0, __pyx_k_Dict, sizeof(__pyx_k_Dict), 0, 0, 1, 1}, | |
{0, __pyx_k_FIELD, sizeof(__pyx_k_FIELD), 0, 1, 0, 0}, | |
{0, __pyx_k_FIELD_PATTERN, sizeof(__pyx_k_FIELD_PATTERN), 0, 0, 1, 1}, | |
{0, __pyx_k_Fast_URI_router_which_compiles_i, sizeof(__pyx_k_Fast_URI_router_which_compiles_i), 0, 0, 1, 0}, | |
@@ -22430,31 +22968,49 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{0, __pyx_k_Field_names_must_be_valid_identi, sizeof(__pyx_k_Field_names_must_be_valid_identi), 0, 1, 0, 0}, | |
{0, __pyx_k_IDENTIFIER_PATTERN, sizeof(__pyx_k_IDENTIFIER_PATTERN), 0, 0, 1, 1}, | |
{0, __pyx_k_Invalid_converter_name_Names_may, sizeof(__pyx_k_Invalid_converter_name_Names_may), 0, 1, 0, 0}, | |
+ {0, __pyx_k_List, sizeof(__pyx_k_List), 0, 0, 1, 1}, | |
+ {0, __pyx_k_List_CompiledRouterNode, sizeof(__pyx_k_List_CompiledRouterNode), 0, 0, 1, 0}, | |
+ {0, __pyx_k_List_Pattern, sizeof(__pyx_k_List_Pattern), 0, 0, 1, 0}, | |
+ {0, __pyx_k_List__CxElement, sizeof(__pyx_k_List__CxElement), 0, 0, 1, 0}, | |
{0, __pyx_k_Lock, sizeof(__pyx_k_Lock), 0, 0, 1, 1}, | |
{0, __pyx_k_Missing_converter_for_field_0, sizeof(__pyx_k_Missing_converter_for_field_0), 0, 1, 0, 0}, | |
+ {0, __pyx_k_None, sizeof(__pyx_k_None), 0, 0, 1, 1}, | |
+ {0, __pyx_k_NotImplementedError, sizeof(__pyx_k_NotImplementedError), 0, 0, 1, 1}, | |
+ {0, __pyx_k_Optional, sizeof(__pyx_k_Optional), 0, 0, 1, 1}, | |
+ {0, __pyx_k_Optional_Request, sizeof(__pyx_k_Optional_Request), 0, 0, 1, 0}, | |
+ {0, __pyx_k_Optional_dict, sizeof(__pyx_k_Optional_dict), 0, 0, 1, 0}, | |
+ {0, __pyx_k_Optional_object, sizeof(__pyx_k_Optional_object), 0, 0, 1, 0}, | |
+ {0, __pyx_k_Optional_str, sizeof(__pyx_k_Optional_str), 0, 0, 1, 0}, | |
{0, __pyx_k_P_2, sizeof(__pyx_k_P_2), 0, 1, 0, 0}, | |
{0, __pyx_k_P_fname_P_cname_sep_P_cname_P_a, sizeof(__pyx_k_P_fname_P_cname_sep_P_cname_P_a), 0, 1, 0, 0}, | |
+ {0, __pyx_k_Pattern, sizeof(__pyx_k_Pattern), 0, 0, 1, 1}, | |
{0, __pyx_k_Represents_a_single_URI_segment, sizeof(__pyx_k_Represents_a_single_URI_segment), 0, 0, 1, 0}, | |
+ {0, __pyx_k_Request, sizeof(__pyx_k_Request), 0, 0, 1, 1}, | |
+ {0, __pyx_k_Set, sizeof(__pyx_k_Set), 0, 0, 1, 1}, | |
+ {0, __pyx_k_Set_str, sizeof(__pyx_k_Set_str), 0, 0, 1, 0}, | |
{0, __pyx_k_TAB_STR, sizeof(__pyx_k_TAB_STR), 0, 0, 1, 1}, | |
+ {0, __pyx_k_TYPE_CHECKING, sizeof(__pyx_k_TYPE_CHECKING), 0, 0, 1, 1}, | |
{0, __pyx_k_The_URI_template_for_this_route, sizeof(__pyx_k_The_URI_template_for_this_route), 0, 1, 0, 0}, | |
{0, __pyx_k_The_responder_must_be_a_non_bloc, sizeof(__pyx_k_The_responder_must_be_a_non_bloc), 0, 1, 0, 0}, | |
{0, __pyx_k_The_responder_must_be_a_regular, sizeof(__pyx_k_The_responder_must_be_a_regular), 0, 1, 0, 0}, | |
{0, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, | |
{0, __pyx_k_URI_templates_may_not_include_wh, sizeof(__pyx_k_URI_templates_may_not_include_wh), 0, 1, 0, 0}, | |
+ {0, __pyx_k_Union, sizeof(__pyx_k_Union), 0, 0, 1, 1}, | |
{0, __pyx_k_Unknown_converter_0, sizeof(__pyx_k_Unknown_converter_0), 0, 1, 0, 0}, | |
{0, __pyx_k_UserDict, sizeof(__pyx_k_UserDict), 0, 0, 1, 1}, | |
{0, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, | |
{0, __pyx_k__10, sizeof(__pyx_k__10), 0, 1, 0, 0}, | |
{0, __pyx_k__11, sizeof(__pyx_k__11), 0, 1, 0, 0}, | |
{0, __pyx_k__12, sizeof(__pyx_k__12), 0, 1, 0, 0}, | |
- {0, __pyx_k__131, sizeof(__pyx_k__131), 0, 0, 1, 1}, | |
- {0, __pyx_k__14, sizeof(__pyx_k__14), 0, 1, 0, 0}, | |
+ {0, __pyx_k__13, sizeof(__pyx_k__13), 0, 1, 0, 0}, | |
+ {0, __pyx_k__135, sizeof(__pyx_k__135), 0, 0, 1, 1}, | |
{0, __pyx_k__15, sizeof(__pyx_k__15), 0, 1, 0, 0}, | |
{0, __pyx_k__16, sizeof(__pyx_k__16), 0, 1, 0, 0}, | |
- {0, __pyx_k__18, sizeof(__pyx_k__18), 0, 0, 1, 1}, | |
- {0, __pyx_k__19, sizeof(__pyx_k__19), 0, 1, 0, 0}, | |
- {0, __pyx_k__42, sizeof(__pyx_k__42), 0, 0, 1, 1}, | |
- {0, __pyx_k__9, sizeof(__pyx_k__9), 0, 1, 0, 0}, | |
+ {0, __pyx_k__17, sizeof(__pyx_k__17), 0, 1, 0, 0}, | |
+ {0, __pyx_k__19, sizeof(__pyx_k__19), 0, 0, 1, 1}, | |
+ {0, __pyx_k__2, sizeof(__pyx_k__2), 0, 1, 0, 0}, | |
+ {0, __pyx_k__21, sizeof(__pyx_k__21), 0, 1, 0, 0}, | |
+ {0, __pyx_k__44, sizeof(__pyx_k__44), 0, 0, 1, 1}, | |
{0, __pyx_k_add, sizeof(__pyx_k_add), 0, 0, 1, 1}, | |
{0, __pyx_k_add_route, sizeof(__pyx_k_add_route), 0, 0, 1, 1}, | |
{0, __pyx_k_append, sizeof(__pyx_k_append), 0, 0, 1, 1}, | |
@@ -22467,6 +23023,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{0, __pyx_k_ast, sizeof(__pyx_k_ast), 0, 0, 1, 1}, | |
{0, __pyx_k_ast, sizeof(__pyx_k_ast), 0, 1, 0, 1}, | |
{0, __pyx_k_asyncio_coroutines, sizeof(__pyx_k_asyncio_coroutines), 0, 0, 1, 1}, | |
+ {0, __pyx_k_bool, sizeof(__pyx_k_bool), 0, 0, 1, 1}, | |
{0, __pyx_k_builtins, sizeof(__pyx_k_builtins), 0, 0, 1, 1}, | |
{0, __pyx_k_child, sizeof(__pyx_k_child), 0, 0, 1, 1}, | |
{0, __pyx_k_children, sizeof(__pyx_k_children), 0, 0, 1, 1}, | |
@@ -22502,9 +23059,16 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{0, __pyx_k_converters_2, sizeof(__pyx_k_converters_2), 0, 0, 1, 1}, | |
{0, __pyx_k_converters_2, sizeof(__pyx_k_converters_2), 0, 1, 0, 1}, | |
{0, __pyx_k_copy, sizeof(__pyx_k_copy), 0, 0, 1, 1}, | |
+ {0, __pyx_k_cx_converter, sizeof(__pyx_k_cx_converter), 0, 0, 1, 1}, | |
+ {0, __pyx_k_cx_literal, sizeof(__pyx_k_cx_literal), 0, 0, 1, 1}, | |
+ {0, __pyx_k_cx_path_len, sizeof(__pyx_k_cx_path_len), 0, 0, 1, 1}, | |
+ {0, __pyx_k_cx_pattern, sizeof(__pyx_k_cx_pattern), 0, 0, 1, 1}, | |
+ {0, __pyx_k_cx_pattern_match, sizeof(__pyx_k_cx_pattern_match), 0, 0, 1, 1}, | |
+ {0, __pyx_k_cx_segment, sizeof(__pyx_k_cx_segment), 0, 0, 1, 1}, | |
{0, __pyx_k_data, sizeof(__pyx_k_data), 0, 0, 1, 1}, | |
{0, __pyx_k_def_find_path_return_values_patt, sizeof(__pyx_k_def_find_path_return_values_patt), 0, 1, 0, 0}, | |
{0, __pyx_k_dict, sizeof(__pyx_k_dict), 0, 0, 1, 1}, | |
+ {0, __pyx_k_dict_2, sizeof(__pyx_k_dict_2), 0, 0, 1, 1}, | |
{0, __pyx_k_dict_groups__0, sizeof(__pyx_k_dict_groups__0), 0, 1, 0, 0}, | |
{0, __pyx_k_dict_match__0, sizeof(__pyx_k_dict_match__0), 0, 1, 0, 0}, | |
{0, __pyx_k_dict_value_name, sizeof(__pyx_k_dict_value_name), 0, 0, 1, 1}, | |
@@ -22519,6 +23083,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{0, __pyx_k_eval, sizeof(__pyx_k_eval), 0, 0, 1, 1}, | |
{0, __pyx_k_exec, sizeof(__pyx_k_exec), 0, 1, 0, 1}, | |
{0, __pyx_k_exit, sizeof(__pyx_k_exit), 0, 0, 1, 1}, | |
+ {0, __pyx_k_falcon_request, sizeof(__pyx_k_falcon_request), 0, 0, 1, 1}, | |
{0, __pyx_k_falcon_routing, sizeof(__pyx_k_falcon_routing), 0, 0, 1, 1}, | |
{0, __pyx_k_falcon_routing_compiled, sizeof(__pyx_k_falcon_routing_compiled), 0, 0, 1, 1}, | |
{0, __pyx_k_falcon_routing_compiled_py, sizeof(__pyx_k_falcon_routing_compiled_py), 0, 0, 1, 0}, | |
@@ -22561,6 +23126,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{0, __pyx_k_insert, sizeof(__pyx_k_insert), 0, 0, 1, 1}, | |
{0, __pyx_k_inspect, sizeof(__pyx_k_inspect), 0, 0, 1, 1}, | |
{0, __pyx_k_instantiate_converter, sizeof(__pyx_k_instantiate_converter), 0, 0, 1, 1}, | |
+ {0, __pyx_k_int, sizeof(__pyx_k_int), 0, 0, 1, 1}, | |
{0, __pyx_k_is_complex, sizeof(__pyx_k_is_complex), 0, 0, 1, 1}, | |
{0, __pyx_k_is_coroutine, sizeof(__pyx_k_is_coroutine), 0, 0, 1, 1}, | |
{0, __pyx_k_is_identifier, sizeof(__pyx_k_is_identifier), 0, 0, 1, 1}, | |
@@ -22580,7 +23146,6 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{0, __pyx_k_let, sizeof(__pyx_k_let), 0, 0, 1, 1}, | |
{0, __pyx_k_level, sizeof(__pyx_k_level), 0, 0, 1, 1}, | |
{0, __pyx_k_lines, sizeof(__pyx_k_lines), 0, 0, 1, 1}, | |
- {0, __pyx_k_list, sizeof(__pyx_k_list), 0, 0, 1, 1}, | |
{0, __pyx_k_literal, sizeof(__pyx_k_literal), 0, 0, 1, 1}, | |
{0, __pyx_k_literal_2, sizeof(__pyx_k_literal_2), 0, 0, 1, 1}, | |
{0, __pyx_k_lstrip, sizeof(__pyx_k_lstrip), 0, 0, 1, 1}, | |
@@ -22604,6 +23169,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{0, __pyx_k_node_2, sizeof(__pyx_k_node_2), 0, 0, 1, 1}, | |
{0, __pyx_k_nodes, sizeof(__pyx_k_nodes), 0, 0, 1, 1}, | |
{0, __pyx_k_num_fields, sizeof(__pyx_k_num_fields), 0, 0, 1, 1}, | |
+ {0, __pyx_k_object, sizeof(__pyx_k_object), 0, 0, 1, 1}, | |
{0, __pyx_k_options, sizeof(__pyx_k_options), 0, 0, 1, 1}, | |
{0, __pyx_k_options, sizeof(__pyx_k_options), 0, 1, 0, 1}, | |
{0, __pyx_k_options_2, sizeof(__pyx_k_options_2), 0, 0, 1, 1}, | |
@@ -22637,6 +23203,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{0, __pyx_k_resource, sizeof(__pyx_k_resource), 0, 0, 1, 1}, | |
{0, __pyx_k_resource_idx, sizeof(__pyx_k_resource_idx), 0, 0, 1, 1}, | |
{0, __pyx_k_responder, sizeof(__pyx_k_responder), 0, 0, 1, 1}, | |
+ {0, __pyx_k_return, sizeof(__pyx_k_return), 0, 0, 1, 1}, | |
{0, __pyx_k_return_None, sizeof(__pyx_k_return_None), 0, 1, 0, 0}, | |
{0, __pyx_k_return_values, sizeof(__pyx_k_return_values), 0, 0, 1, 1}, | |
{0, __pyx_k_return_values, sizeof(__pyx_k_return_values), 0, 1, 0, 1}, | |
@@ -22654,7 +23221,6 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{0, __pyx_k_set_default_responders, sizeof(__pyx_k_set_default_responders), 0, 0, 1, 1}, | |
{0, __pyx_k_set_name, sizeof(__pyx_k_set_name), 0, 0, 1, 1}, | |
{0, __pyx_k_setitem, sizeof(__pyx_k_setitem), 0, 0, 1, 1}, | |
- {0, __pyx_k_setter, sizeof(__pyx_k_setter), 0, 0, 1, 1}, | |
{0, __pyx_k_should_wrap_non_coroutines, sizeof(__pyx_k_should_wrap_non_coroutines), 0, 0, 1, 1}, | |
{0, __pyx_k_slots, sizeof(__pyx_k_slots), 0, 0, 1, 1}, | |
{0, __pyx_k_sorted, sizeof(__pyx_k_sorted), 0, 0, 1, 1}, | |
@@ -22663,6 +23229,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{0, __pyx_k_split, sizeof(__pyx_k_split), 0, 0, 1, 1}, | |
{0, __pyx_k_src, sizeof(__pyx_k_src), 0, 0, 1, 1}, | |
{0, __pyx_k_src_lines, sizeof(__pyx_k_src_lines), 0, 0, 1, 1}, | |
+ {0, __pyx_k_str, sizeof(__pyx_k_str), 0, 0, 1, 1}, | |
{0, __pyx_k_string, sizeof(__pyx_k_string), 0, 1, 0, 0}, | |
{0, __pyx_k_sub, sizeof(__pyx_k_sub), 0, 0, 1, 1}, | |
{0, __pyx_k_suffix, sizeof(__pyx_k_suffix), 0, 0, 1, 1}, | |
@@ -22672,6 +23239,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{0, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, | |
{0, __pyx_k_threading, sizeof(__pyx_k_threading), 0, 0, 1, 1}, | |
{0, __pyx_k_throw, sizeof(__pyx_k_throw), 0, 0, 1, 1}, | |
+ {0, __pyx_k_typing, sizeof(__pyx_k_typing), 0, 0, 1, 1}, | |
{0, __pyx_k_unique_idx, sizeof(__pyx_k_unique_idx), 0, 0, 1, 1}, | |
{0, __pyx_k_unique_idx_2, sizeof(__pyx_k_unique_idx_2), 0, 0, 1, 1}, | |
{0, __pyx_k_update, sizeof(__pyx_k_update), 0, 0, 1, 1}, | |
@@ -22709,9 +23277,12 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{&__pyx_kp_u_0_return_return_values_1, __pyx_k_0_return_return_values_1, sizeof(__pyx_k_0_return_return_values_1), 0, 1, 0, 0}, | |
{&__pyx_kp_u_A_Za_z__A_Za_z0_9, __pyx_k_A_Za_z__A_Za_z0_9, sizeof(__pyx_k_A_Za_z__A_Za_z0_9), 0, 1, 0, 0}, | |
{&__pyx_kp_s_A_dict_like_class_for_storing_fi, __pyx_k_A_dict_like_class_for_storing_fi, sizeof(__pyx_k_A_dict_like_class_for_storing_fi), 0, 0, 1, 0}, | |
+ {&__pyx_n_s_Any, __pyx_k_Any, sizeof(__pyx_k_Any), 0, 0, 1, 1}, | |
{&__pyx_n_s_AssertionError, __pyx_k_AssertionError, sizeof(__pyx_k_AssertionError), 0, 0, 1, 1}, | |
{&__pyx_n_s_AttributeError, __pyx_k_AttributeError, sizeof(__pyx_k_AttributeError), 0, 0, 1, 1}, | |
{&__pyx_n_s_BUILTIN, __pyx_k_BUILTIN, sizeof(__pyx_k_BUILTIN), 0, 0, 1, 1}, | |
+ {&__pyx_n_s_Callable, __pyx_k_Callable, sizeof(__pyx_k_Callable), 0, 0, 1, 1}, | |
+ {&__pyx_kp_s_Callable_2, __pyx_k_Callable_2, sizeof(__pyx_k_Callable_2), 0, 0, 1, 0}, | |
{&__pyx_kp_u_Cannot_instantiate_converter, __pyx_k_Cannot_instantiate_converter, sizeof(__pyx_k_Cannot_instantiate_converter), 0, 1, 0, 0}, | |
{&__pyx_n_s_CompiledRouter, __pyx_k_CompiledRouter, sizeof(__pyx_k_CompiledRouter), 0, 0, 1, 1}, | |
{&__pyx_n_s_CompiledRouterNode, __pyx_k_CompiledRouterNode, sizeof(__pyx_k_CompiledRouterNode), 0, 0, 1, 1}, | |
@@ -22720,6 +23291,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{&__pyx_n_s_CompiledRouterNode_conflicts_wit, __pyx_k_CompiledRouterNode_conflicts_wit, sizeof(__pyx_k_CompiledRouterNode_conflicts_wit), 0, 0, 1, 1}, | |
{&__pyx_n_s_CompiledRouterNode_matches, __pyx_k_CompiledRouterNode_matches, sizeof(__pyx_k_CompiledRouterNode_matches), 0, 0, 1, 1}, | |
{&__pyx_n_s_CompiledRouterOptions, __pyx_k_CompiledRouterOptions, sizeof(__pyx_k_CompiledRouterOptions), 0, 0, 1, 1}, | |
+ {&__pyx_kp_s_CompiledRouterOptions_2, __pyx_k_CompiledRouterOptions_2, sizeof(__pyx_k_CompiledRouterOptions_2), 0, 0, 1, 0}, | |
{&__pyx_n_s_CompiledRouterOptions___init, __pyx_k_CompiledRouterOptions___init, sizeof(__pyx_k_CompiledRouterOptions___init), 0, 0, 1, 1}, | |
{&__pyx_n_s_CompiledRouterOptions___init___l, __pyx_k_CompiledRouterOptions___init___l, sizeof(__pyx_k_CompiledRouterOptions___init___l), 0, 0, 1, 1}, | |
{&__pyx_n_s_CompiledRouter___init, __pyx_k_CompiledRouter___init, sizeof(__pyx_k_CompiledRouter___init), 0, 0, 1, 1}, | |
@@ -22743,6 +23315,11 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{&__pyx_n_s_ConverterDict___setitem, __pyx_k_ConverterDict___setitem, sizeof(__pyx_k_ConverterDict___setitem), 0, 0, 1, 1}, | |
{&__pyx_n_s_ConverterDict__validate, __pyx_k_ConverterDict__validate, sizeof(__pyx_k_ConverterDict__validate), 0, 0, 1, 1}, | |
{&__pyx_n_s_ConverterDict_update, __pyx_k_ConverterDict_update, sizeof(__pyx_k_ConverterDict_update), 0, 0, 1, 1}, | |
+ {&__pyx_n_s_CxChild, __pyx_k_CxChild, sizeof(__pyx_k_CxChild), 0, 0, 1, 1}, | |
+ {&__pyx_n_u_CxChild, __pyx_k_CxChild, sizeof(__pyx_k_CxChild), 0, 1, 0, 1}, | |
+ {&__pyx_n_s_CxChild_src, __pyx_k_CxChild_src, sizeof(__pyx_k_CxChild_src), 0, 0, 1, 1}, | |
+ {&__pyx_n_s_CxElement, __pyx_k_CxElement, sizeof(__pyx_k_CxElement), 0, 0, 1, 1}, | |
+ {&__pyx_kp_s_CxElement_2, __pyx_k_CxElement_2, sizeof(__pyx_k_CxElement_2), 0, 0, 1, 0}, | |
{&__pyx_n_s_CxIfConverterField, __pyx_k_CxIfConverterField, sizeof(__pyx_k_CxIfConverterField), 0, 0, 1, 1}, | |
{&__pyx_n_s_CxIfConverterField___init, __pyx_k_CxIfConverterField___init, sizeof(__pyx_k_CxIfConverterField___init), 0, 0, 1, 1}, | |
{&__pyx_n_s_CxIfConverterField_src, __pyx_k_CxIfConverterField_src, sizeof(__pyx_k_CxIfConverterField_src), 0, 0, 1, 1}, | |
@@ -22756,6 +23333,8 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{&__pyx_n_s_CxIfPathSegmentPattern___init, __pyx_k_CxIfPathSegmentPattern___init, sizeof(__pyx_k_CxIfPathSegmentPattern___init), 0, 0, 1, 1}, | |
{&__pyx_n_s_CxIfPathSegmentPattern_src, __pyx_k_CxIfPathSegmentPattern_src, sizeof(__pyx_k_CxIfPathSegmentPattern_src), 0, 0, 1, 1}, | |
{&__pyx_n_s_CxParent, __pyx_k_CxParent, sizeof(__pyx_k_CxParent), 0, 0, 1, 1}, | |
+ {&__pyx_n_u_CxParent, __pyx_k_CxParent, sizeof(__pyx_k_CxParent), 0, 1, 0, 1}, | |
+ {&__pyx_kp_s_CxParent_2, __pyx_k_CxParent_2, sizeof(__pyx_k_CxParent_2), 0, 0, 1, 0}, | |
{&__pyx_n_s_CxParent___init, __pyx_k_CxParent___init, sizeof(__pyx_k_CxParent___init), 0, 0, 1, 1}, | |
{&__pyx_n_s_CxParent__children_src, __pyx_k_CxParent__children_src, sizeof(__pyx_k_CxParent__children_src), 0, 0, 1, 1}, | |
{&__pyx_n_s_CxParent_append_child, __pyx_k_CxParent_append_child, sizeof(__pyx_k_CxParent_append_child), 0, 0, 1, 1}, | |
@@ -22789,6 +23368,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{&__pyx_n_s_CxVariableFromPatternMatch___in, __pyx_k_CxVariableFromPatternMatch___in, sizeof(__pyx_k_CxVariableFromPatternMatch___in), 0, 0, 1, 1}, | |
{&__pyx_n_s_CxVariableFromPatternMatch_src, __pyx_k_CxVariableFromPatternMatch_src, sizeof(__pyx_k_CxVariableFromPatternMatch_src), 0, 0, 1, 1}, | |
{&__pyx_kp_s_Defines_a_set_of_configurable_ro, __pyx_k_Defines_a_set_of_configurable_ro, sizeof(__pyx_k_Defines_a_set_of_configurable_ro), 0, 0, 1, 0}, | |
+ {&__pyx_n_s_Dict, __pyx_k_Dict, sizeof(__pyx_k_Dict), 0, 0, 1, 1}, | |
{&__pyx_kp_u_FIELD, __pyx_k_FIELD, sizeof(__pyx_k_FIELD), 0, 1, 0, 0}, | |
{&__pyx_n_s_FIELD_PATTERN, __pyx_k_FIELD_PATTERN, sizeof(__pyx_k_FIELD_PATTERN), 0, 0, 1, 1}, | |
{&__pyx_kp_s_Fast_URI_router_which_compiles_i, __pyx_k_Fast_URI_router_which_compiles_i, sizeof(__pyx_k_Fast_URI_router_which_compiles_i), 0, 0, 1, 0}, | |
@@ -22796,31 +23376,49 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{&__pyx_kp_u_Field_names_must_be_valid_identi, __pyx_k_Field_names_must_be_valid_identi, sizeof(__pyx_k_Field_names_must_be_valid_identi), 0, 1, 0, 0}, | |
{&__pyx_n_s_IDENTIFIER_PATTERN, __pyx_k_IDENTIFIER_PATTERN, sizeof(__pyx_k_IDENTIFIER_PATTERN), 0, 0, 1, 1}, | |
{&__pyx_kp_u_Invalid_converter_name_Names_may, __pyx_k_Invalid_converter_name_Names_may, sizeof(__pyx_k_Invalid_converter_name_Names_may), 0, 1, 0, 0}, | |
+ {&__pyx_n_s_List, __pyx_k_List, sizeof(__pyx_k_List), 0, 0, 1, 1}, | |
+ {&__pyx_kp_s_List_CompiledRouterNode, __pyx_k_List_CompiledRouterNode, sizeof(__pyx_k_List_CompiledRouterNode), 0, 0, 1, 0}, | |
+ {&__pyx_kp_s_List_Pattern, __pyx_k_List_Pattern, sizeof(__pyx_k_List_Pattern), 0, 0, 1, 0}, | |
+ {&__pyx_kp_s_List__CxElement, __pyx_k_List__CxElement, sizeof(__pyx_k_List__CxElement), 0, 0, 1, 0}, | |
{&__pyx_n_s_Lock, __pyx_k_Lock, sizeof(__pyx_k_Lock), 0, 0, 1, 1}, | |
{&__pyx_kp_u_Missing_converter_for_field_0, __pyx_k_Missing_converter_for_field_0, sizeof(__pyx_k_Missing_converter_for_field_0), 0, 1, 0, 0}, | |
+ {&__pyx_n_s_None, __pyx_k_None, sizeof(__pyx_k_None), 0, 0, 1, 1}, | |
+ {&__pyx_n_s_NotImplementedError, __pyx_k_NotImplementedError, sizeof(__pyx_k_NotImplementedError), 0, 0, 1, 1}, | |
+ {&__pyx_n_s_Optional, __pyx_k_Optional, sizeof(__pyx_k_Optional), 0, 0, 1, 1}, | |
+ {&__pyx_kp_s_Optional_Request, __pyx_k_Optional_Request, sizeof(__pyx_k_Optional_Request), 0, 0, 1, 0}, | |
+ {&__pyx_kp_s_Optional_dict, __pyx_k_Optional_dict, sizeof(__pyx_k_Optional_dict), 0, 0, 1, 0}, | |
+ {&__pyx_kp_s_Optional_object, __pyx_k_Optional_object, sizeof(__pyx_k_Optional_object), 0, 0, 1, 0}, | |
+ {&__pyx_kp_s_Optional_str, __pyx_k_Optional_str, sizeof(__pyx_k_Optional_str), 0, 0, 1, 0}, | |
{&__pyx_kp_u_P_2, __pyx_k_P_2, sizeof(__pyx_k_P_2), 0, 1, 0, 0}, | |
{&__pyx_kp_u_P_fname_P_cname_sep_P_cname_P_a, __pyx_k_P_fname_P_cname_sep_P_cname_P_a, sizeof(__pyx_k_P_fname_P_cname_sep_P_cname_P_a), 0, 1, 0, 0}, | |
+ {&__pyx_n_s_Pattern, __pyx_k_Pattern, sizeof(__pyx_k_Pattern), 0, 0, 1, 1}, | |
{&__pyx_kp_s_Represents_a_single_URI_segment, __pyx_k_Represents_a_single_URI_segment, sizeof(__pyx_k_Represents_a_single_URI_segment), 0, 0, 1, 0}, | |
+ {&__pyx_n_s_Request, __pyx_k_Request, sizeof(__pyx_k_Request), 0, 0, 1, 1}, | |
+ {&__pyx_n_s_Set, __pyx_k_Set, sizeof(__pyx_k_Set), 0, 0, 1, 1}, | |
+ {&__pyx_kp_s_Set_str, __pyx_k_Set_str, sizeof(__pyx_k_Set_str), 0, 0, 1, 0}, | |
{&__pyx_n_s_TAB_STR, __pyx_k_TAB_STR, sizeof(__pyx_k_TAB_STR), 0, 0, 1, 1}, | |
+ {&__pyx_n_s_TYPE_CHECKING, __pyx_k_TYPE_CHECKING, sizeof(__pyx_k_TYPE_CHECKING), 0, 0, 1, 1}, | |
{&__pyx_kp_u_The_URI_template_for_this_route, __pyx_k_The_URI_template_for_this_route, sizeof(__pyx_k_The_URI_template_for_this_route), 0, 1, 0, 0}, | |
{&__pyx_kp_u_The_responder_must_be_a_non_bloc, __pyx_k_The_responder_must_be_a_non_bloc, sizeof(__pyx_k_The_responder_must_be_a_non_bloc), 0, 1, 0, 0}, | |
{&__pyx_kp_u_The_responder_must_be_a_regular, __pyx_k_The_responder_must_be_a_regular, sizeof(__pyx_k_The_responder_must_be_a_regular), 0, 1, 0, 0}, | |
{&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, | |
{&__pyx_kp_u_URI_templates_may_not_include_wh, __pyx_k_URI_templates_may_not_include_wh, sizeof(__pyx_k_URI_templates_may_not_include_wh), 0, 1, 0, 0}, | |
+ {&__pyx_n_s_Union, __pyx_k_Union, sizeof(__pyx_k_Union), 0, 0, 1, 1}, | |
{&__pyx_kp_u_Unknown_converter_0, __pyx_k_Unknown_converter_0, sizeof(__pyx_k_Unknown_converter_0), 0, 1, 0, 0}, | |
{&__pyx_n_s_UserDict, __pyx_k_UserDict, sizeof(__pyx_k_UserDict), 0, 0, 1, 1}, | |
{&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, | |
{&__pyx_kp_u__10, __pyx_k__10, sizeof(__pyx_k__10), 0, 1, 0, 0}, | |
{&__pyx_kp_u__11, __pyx_k__11, sizeof(__pyx_k__11), 0, 1, 0, 0}, | |
{&__pyx_kp_u__12, __pyx_k__12, sizeof(__pyx_k__12), 0, 1, 0, 0}, | |
- {&__pyx_n_s__131, __pyx_k__131, sizeof(__pyx_k__131), 0, 0, 1, 1}, | |
- {&__pyx_kp_u__14, __pyx_k__14, sizeof(__pyx_k__14), 0, 1, 0, 0}, | |
+ {&__pyx_kp_u__13, __pyx_k__13, sizeof(__pyx_k__13), 0, 1, 0, 0}, | |
+ {&__pyx_n_s__135, __pyx_k__135, sizeof(__pyx_k__135), 0, 0, 1, 1}, | |
{&__pyx_kp_u__15, __pyx_k__15, sizeof(__pyx_k__15), 0, 1, 0, 0}, | |
{&__pyx_kp_u__16, __pyx_k__16, sizeof(__pyx_k__16), 0, 1, 0, 0}, | |
- {&__pyx_n_s__18, __pyx_k__18, sizeof(__pyx_k__18), 0, 0, 1, 1}, | |
- {&__pyx_kp_u__19, __pyx_k__19, sizeof(__pyx_k__19), 0, 1, 0, 0}, | |
- {&__pyx_n_s__42, __pyx_k__42, sizeof(__pyx_k__42), 0, 0, 1, 1}, | |
- {&__pyx_kp_u__9, __pyx_k__9, sizeof(__pyx_k__9), 0, 1, 0, 0}, | |
+ {&__pyx_kp_u__17, __pyx_k__17, sizeof(__pyx_k__17), 0, 1, 0, 0}, | |
+ {&__pyx_n_s__19, __pyx_k__19, sizeof(__pyx_k__19), 0, 0, 1, 1}, | |
+ {&__pyx_kp_u__2, __pyx_k__2, sizeof(__pyx_k__2), 0, 1, 0, 0}, | |
+ {&__pyx_kp_u__21, __pyx_k__21, sizeof(__pyx_k__21), 0, 1, 0, 0}, | |
+ {&__pyx_n_s__44, __pyx_k__44, sizeof(__pyx_k__44), 0, 0, 1, 1}, | |
{&__pyx_n_s_add, __pyx_k_add, sizeof(__pyx_k_add), 0, 0, 1, 1}, | |
{&__pyx_n_s_add_route, __pyx_k_add_route, sizeof(__pyx_k_add_route), 0, 0, 1, 1}, | |
{&__pyx_n_s_append, __pyx_k_append, sizeof(__pyx_k_append), 0, 0, 1, 1}, | |
@@ -22833,6 +23431,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{&__pyx_n_s_ast, __pyx_k_ast, sizeof(__pyx_k_ast), 0, 0, 1, 1}, | |
{&__pyx_n_u_ast, __pyx_k_ast, sizeof(__pyx_k_ast), 0, 1, 0, 1}, | |
{&__pyx_n_s_asyncio_coroutines, __pyx_k_asyncio_coroutines, sizeof(__pyx_k_asyncio_coroutines), 0, 0, 1, 1}, | |
+ {&__pyx_n_s_bool, __pyx_k_bool, sizeof(__pyx_k_bool), 0, 0, 1, 1}, | |
{&__pyx_n_s_builtins, __pyx_k_builtins, sizeof(__pyx_k_builtins), 0, 0, 1, 1}, | |
{&__pyx_n_s_child, __pyx_k_child, sizeof(__pyx_k_child), 0, 0, 1, 1}, | |
{&__pyx_n_s_children, __pyx_k_children, sizeof(__pyx_k_children), 0, 0, 1, 1}, | |
@@ -22868,9 +23467,16 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{&__pyx_n_s_converters_2, __pyx_k_converters_2, sizeof(__pyx_k_converters_2), 0, 0, 1, 1}, | |
{&__pyx_n_u_converters_2, __pyx_k_converters_2, sizeof(__pyx_k_converters_2), 0, 1, 0, 1}, | |
{&__pyx_n_s_copy, __pyx_k_copy, sizeof(__pyx_k_copy), 0, 0, 1, 1}, | |
+ {&__pyx_n_s_cx_converter, __pyx_k_cx_converter, sizeof(__pyx_k_cx_converter), 0, 0, 1, 1}, | |
+ {&__pyx_n_s_cx_literal, __pyx_k_cx_literal, sizeof(__pyx_k_cx_literal), 0, 0, 1, 1}, | |
+ {&__pyx_n_s_cx_path_len, __pyx_k_cx_path_len, sizeof(__pyx_k_cx_path_len), 0, 0, 1, 1}, | |
+ {&__pyx_n_s_cx_pattern, __pyx_k_cx_pattern, sizeof(__pyx_k_cx_pattern), 0, 0, 1, 1}, | |
+ {&__pyx_n_s_cx_pattern_match, __pyx_k_cx_pattern_match, sizeof(__pyx_k_cx_pattern_match), 0, 0, 1, 1}, | |
+ {&__pyx_n_s_cx_segment, __pyx_k_cx_segment, sizeof(__pyx_k_cx_segment), 0, 0, 1, 1}, | |
{&__pyx_n_s_data, __pyx_k_data, sizeof(__pyx_k_data), 0, 0, 1, 1}, | |
{&__pyx_kp_u_def_find_path_return_values_patt, __pyx_k_def_find_path_return_values_patt, sizeof(__pyx_k_def_find_path_return_values_patt), 0, 1, 0, 0}, | |
{&__pyx_n_s_dict, __pyx_k_dict, sizeof(__pyx_k_dict), 0, 0, 1, 1}, | |
+ {&__pyx_n_s_dict_2, __pyx_k_dict_2, sizeof(__pyx_k_dict_2), 0, 0, 1, 1}, | |
{&__pyx_kp_u_dict_groups__0, __pyx_k_dict_groups__0, sizeof(__pyx_k_dict_groups__0), 0, 1, 0, 0}, | |
{&__pyx_kp_u_dict_match__0, __pyx_k_dict_match__0, sizeof(__pyx_k_dict_match__0), 0, 1, 0, 0}, | |
{&__pyx_n_s_dict_value_name, __pyx_k_dict_value_name, sizeof(__pyx_k_dict_value_name), 0, 0, 1, 1}, | |
@@ -22885,6 +23491,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{&__pyx_n_s_eval, __pyx_k_eval, sizeof(__pyx_k_eval), 0, 0, 1, 1}, | |
{&__pyx_n_u_exec, __pyx_k_exec, sizeof(__pyx_k_exec), 0, 1, 0, 1}, | |
{&__pyx_n_s_exit, __pyx_k_exit, sizeof(__pyx_k_exit), 0, 0, 1, 1}, | |
+ {&__pyx_n_s_falcon_request, __pyx_k_falcon_request, sizeof(__pyx_k_falcon_request), 0, 0, 1, 1}, | |
{&__pyx_n_s_falcon_routing, __pyx_k_falcon_routing, sizeof(__pyx_k_falcon_routing), 0, 0, 1, 1}, | |
{&__pyx_n_s_falcon_routing_compiled, __pyx_k_falcon_routing_compiled, sizeof(__pyx_k_falcon_routing_compiled), 0, 0, 1, 1}, | |
{&__pyx_kp_s_falcon_routing_compiled_py, __pyx_k_falcon_routing_compiled_py, sizeof(__pyx_k_falcon_routing_compiled_py), 0, 0, 1, 0}, | |
@@ -22927,6 +23534,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{&__pyx_n_s_insert, __pyx_k_insert, sizeof(__pyx_k_insert), 0, 0, 1, 1}, | |
{&__pyx_n_s_inspect, __pyx_k_inspect, sizeof(__pyx_k_inspect), 0, 0, 1, 1}, | |
{&__pyx_n_s_instantiate_converter, __pyx_k_instantiate_converter, sizeof(__pyx_k_instantiate_converter), 0, 0, 1, 1}, | |
+ {&__pyx_n_s_int, __pyx_k_int, sizeof(__pyx_k_int), 0, 0, 1, 1}, | |
{&__pyx_n_s_is_complex, __pyx_k_is_complex, sizeof(__pyx_k_is_complex), 0, 0, 1, 1}, | |
{&__pyx_n_s_is_coroutine, __pyx_k_is_coroutine, sizeof(__pyx_k_is_coroutine), 0, 0, 1, 1}, | |
{&__pyx_n_s_is_identifier, __pyx_k_is_identifier, sizeof(__pyx_k_is_identifier), 0, 0, 1, 1}, | |
@@ -22946,7 +23554,6 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{&__pyx_n_s_let, __pyx_k_let, sizeof(__pyx_k_let), 0, 0, 1, 1}, | |
{&__pyx_n_s_level, __pyx_k_level, sizeof(__pyx_k_level), 0, 0, 1, 1}, | |
{&__pyx_n_s_lines, __pyx_k_lines, sizeof(__pyx_k_lines), 0, 0, 1, 1}, | |
- {&__pyx_n_s_list, __pyx_k_list, sizeof(__pyx_k_list), 0, 0, 1, 1}, | |
{&__pyx_n_s_literal, __pyx_k_literal, sizeof(__pyx_k_literal), 0, 0, 1, 1}, | |
{&__pyx_n_s_literal_2, __pyx_k_literal_2, sizeof(__pyx_k_literal_2), 0, 0, 1, 1}, | |
{&__pyx_n_s_lstrip, __pyx_k_lstrip, sizeof(__pyx_k_lstrip), 0, 0, 1, 1}, | |
@@ -22970,6 +23577,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{&__pyx_n_s_node_2, __pyx_k_node_2, sizeof(__pyx_k_node_2), 0, 0, 1, 1}, | |
{&__pyx_n_s_nodes, __pyx_k_nodes, sizeof(__pyx_k_nodes), 0, 0, 1, 1}, | |
{&__pyx_n_s_num_fields, __pyx_k_num_fields, sizeof(__pyx_k_num_fields), 0, 0, 1, 1}, | |
+ {&__pyx_n_s_object, __pyx_k_object, sizeof(__pyx_k_object), 0, 0, 1, 1}, | |
{&__pyx_n_s_options, __pyx_k_options, sizeof(__pyx_k_options), 0, 0, 1, 1}, | |
{&__pyx_n_u_options, __pyx_k_options, sizeof(__pyx_k_options), 0, 1, 0, 1}, | |
{&__pyx_n_s_options_2, __pyx_k_options_2, sizeof(__pyx_k_options_2), 0, 0, 1, 1}, | |
@@ -23003,6 +23611,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{&__pyx_n_s_resource, __pyx_k_resource, sizeof(__pyx_k_resource), 0, 0, 1, 1}, | |
{&__pyx_n_s_resource_idx, __pyx_k_resource_idx, sizeof(__pyx_k_resource_idx), 0, 0, 1, 1}, | |
{&__pyx_n_s_responder, __pyx_k_responder, sizeof(__pyx_k_responder), 0, 0, 1, 1}, | |
+ {&__pyx_n_s_return, __pyx_k_return, sizeof(__pyx_k_return), 0, 0, 1, 1}, | |
{&__pyx_kp_u_return_None, __pyx_k_return_None, sizeof(__pyx_k_return_None), 0, 1, 0, 0}, | |
{&__pyx_n_s_return_values, __pyx_k_return_values, sizeof(__pyx_k_return_values), 0, 0, 1, 1}, | |
{&__pyx_n_u_return_values, __pyx_k_return_values, sizeof(__pyx_k_return_values), 0, 1, 0, 1}, | |
@@ -23020,7 +23629,6 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{&__pyx_n_s_set_default_responders, __pyx_k_set_default_responders, sizeof(__pyx_k_set_default_responders), 0, 0, 1, 1}, | |
{&__pyx_n_s_set_name, __pyx_k_set_name, sizeof(__pyx_k_set_name), 0, 0, 1, 1}, | |
{&__pyx_n_s_setitem, __pyx_k_setitem, sizeof(__pyx_k_setitem), 0, 0, 1, 1}, | |
- {&__pyx_n_s_setter, __pyx_k_setter, sizeof(__pyx_k_setter), 0, 0, 1, 1}, | |
{&__pyx_n_s_should_wrap_non_coroutines, __pyx_k_should_wrap_non_coroutines, sizeof(__pyx_k_should_wrap_non_coroutines), 0, 0, 1, 1}, | |
{&__pyx_n_s_slots, __pyx_k_slots, sizeof(__pyx_k_slots), 0, 0, 1, 1}, | |
{&__pyx_n_s_sorted, __pyx_k_sorted, sizeof(__pyx_k_sorted), 0, 0, 1, 1}, | |
@@ -23029,6 +23637,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{&__pyx_n_s_split, __pyx_k_split, sizeof(__pyx_k_split), 0, 0, 1, 1}, | |
{&__pyx_n_s_src, __pyx_k_src, sizeof(__pyx_k_src), 0, 0, 1, 1}, | |
{&__pyx_n_s_src_lines, __pyx_k_src_lines, sizeof(__pyx_k_src_lines), 0, 0, 1, 1}, | |
+ {&__pyx_n_s_str, __pyx_k_str, sizeof(__pyx_k_str), 0, 0, 1, 1}, | |
{&__pyx_kp_u_string, __pyx_k_string, sizeof(__pyx_k_string), 0, 1, 0, 0}, | |
{&__pyx_n_s_sub, __pyx_k_sub, sizeof(__pyx_k_sub), 0, 0, 1, 1}, | |
{&__pyx_n_s_suffix, __pyx_k_suffix, sizeof(__pyx_k_suffix), 0, 0, 1, 1}, | |
@@ -23038,6 +23647,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
{&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, | |
{&__pyx_n_s_threading, __pyx_k_threading, sizeof(__pyx_k_threading), 0, 0, 1, 1}, | |
{&__pyx_n_s_throw, __pyx_k_throw, sizeof(__pyx_k_throw), 0, 0, 1, 1}, | |
+ {&__pyx_n_s_typing, __pyx_k_typing, sizeof(__pyx_k_typing), 0, 0, 1, 1}, | |
{&__pyx_n_s_unique_idx, __pyx_k_unique_idx, sizeof(__pyx_k_unique_idx), 0, 0, 1, 1}, | |
{&__pyx_n_s_unique_idx_2, __pyx_k_unique_idx_2, sizeof(__pyx_k_unique_idx_2), 0, 0, 1, 1}, | |
{&__pyx_n_s_update, __pyx_k_update, sizeof(__pyx_k_update), 0, 0, 1, 1}, | |
@@ -23059,15 +23669,16 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { | |
}; | |
/* #### Code section: cached_builtins ### */ | |
static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { | |
- __pyx_builtin_property = __Pyx_GetBuiltinName(__pyx_n_s_property); if (!__pyx_builtin_property) __PYX_ERR(0, 108, __pyx_L1_error) | |
- __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(0, 202, __pyx_L1_error) | |
- __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(0, 310, __pyx_L1_error) | |
- __pyx_builtin_sorted = __Pyx_GetBuiltinName(__pyx_n_s_sorted); if (!__pyx_builtin_sorted) __PYX_ERR(0, 410, __pyx_L1_error) | |
- __pyx_builtin_AssertionError = __Pyx_GetBuiltinName(__pyx_n_s_AssertionError); if (!__pyx_builtin_AssertionError) __PYX_ERR(0, 463, __pyx_L1_error) | |
- __pyx_builtin_compile = __Pyx_GetBuiltinName(__pyx_n_s_compile); if (!__pyx_builtin_compile) __PYX_ERR(0, 614, __pyx_L1_error) | |
- __pyx_builtin_eval = __Pyx_GetBuiltinName(__pyx_n_s_eval); if (!__pyx_builtin_eval) __PYX_ERR(0, 624, __pyx_L1_error) | |
- __pyx_builtin_AttributeError = __Pyx_GetBuiltinName(__pyx_n_s_AttributeError); if (!__pyx_builtin_AttributeError) __PYX_ERR(0, 808, __pyx_L1_error) | |
- __pyx_builtin_super = __Pyx_GetBuiltinName(__pyx_n_s_super); if (!__pyx_builtin_super) __PYX_ERR(0, 907, __pyx_L1_error) | |
+ __pyx_builtin_property = __Pyx_GetBuiltinName(__pyx_n_s_property); if (!__pyx_builtin_property) __PYX_ERR(0, 115, __pyx_L1_error) | |
+ __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(0, 209, __pyx_L1_error) | |
+ __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(0, 317, __pyx_L1_error) | |
+ __pyx_builtin_sorted = __Pyx_GetBuiltinName(__pyx_n_s_sorted); if (!__pyx_builtin_sorted) __PYX_ERR(0, 417, __pyx_L1_error) | |
+ __pyx_builtin_AssertionError = __Pyx_GetBuiltinName(__pyx_n_s_AssertionError); if (!__pyx_builtin_AssertionError) __PYX_ERR(0, 442, __pyx_L1_error) | |
+ __pyx_builtin_compile = __Pyx_GetBuiltinName(__pyx_n_s_compile); if (!__pyx_builtin_compile) __PYX_ERR(0, 627, __pyx_L1_error) | |
+ __pyx_builtin_eval = __Pyx_GetBuiltinName(__pyx_n_s_eval); if (!__pyx_builtin_eval) __PYX_ERR(0, 637, __pyx_L1_error) | |
+ __pyx_builtin_AttributeError = __Pyx_GetBuiltinName(__pyx_n_s_AttributeError); if (!__pyx_builtin_AttributeError) __PYX_ERR(0, 827, __pyx_L1_error) | |
+ __pyx_builtin_NotImplementedError = __Pyx_GetBuiltinName(__pyx_n_s_NotImplementedError); if (!__pyx_builtin_NotImplementedError) __PYX_ERR(0, 927, __pyx_L1_error) | |
+ __pyx_builtin_super = __Pyx_GetBuiltinName(__pyx_n_s_super); if (!__pyx_builtin_super) __PYX_ERR(0, 932, __pyx_L1_error) | |
return 0; | |
__pyx_L1_error:; | |
return -1; | |
@@ -23078,744 +23689,767 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { | |
__Pyx_RefNannyDeclarations | |
__Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); | |
- /* "falcon/routing/compiled.py":226 | |
+ /* "falcon/routing/compiled.py":233 | |
* | |
* if node.conflicts_with(segment): | |
* raise ValueError( # <<<<<<<<<<<<<< | |
* 'The URI template for this route is inconsistent or conflicts ' | |
* "with another route's template. This is usually caused by " | |
*/ | |
- __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_u_The_URI_template_for_this_route); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(0, 226, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__2); | |
- __Pyx_GIVEREF(__pyx_tuple__2); | |
+ __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_u_The_URI_template_for_this_route); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(0, 233, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__3); | |
+ __Pyx_GIVEREF(__pyx_tuple__3); | |
- /* "falcon/routing/compiled.py":202 | |
+ /* "falcon/routing/compiled.py":209 | |
* # those before checking the rest of the URI template. | |
* if re.search(r'\s', _FIELD_PATTERN.sub('{FIELD}', uri_template)): | |
* raise ValueError('URI templates may not include whitespace.') # <<<<<<<<<<<<<< | |
* | |
* path = uri_template.lstrip('/').split('/') | |
*/ | |
- __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_u_URI_templates_may_not_include_wh); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(0, 202, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__3); | |
- __Pyx_GIVEREF(__pyx_tuple__3); | |
+ __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_u_URI_templates_may_not_include_wh); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 209, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__4); | |
+ __Pyx_GIVEREF(__pyx_tuple__4); | |
- /* "falcon/routing/compiled.py":210 | |
+ /* "falcon/routing/compiled.py":217 | |
* self._validate_template_segment(segment, used_names) | |
* | |
- * def insert(nodes, path_index=0): # <<<<<<<<<<<<<< | |
+ * def insert(nodes: 'List[CompiledRouterNode]', path_index: int = 0): # <<<<<<<<<<<<<< | |
* for node in nodes: | |
* segment = path[path_index] | |
*/ | |
- __pyx_tuple__4 = PyTuple_Pack(5, __pyx_n_s_nodes, __pyx_n_s_path_index, __pyx_n_s_node, __pyx_n_s_segment, __pyx_n_s_new_node); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 210, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__4); | |
- __Pyx_GIVEREF(__pyx_tuple__4); | |
- __pyx_codeobj__5 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__4, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_insert, 210, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__5)) __PYX_ERR(0, 210, __pyx_L1_error) | |
- __pyx_tuple__6 = PyTuple_Pack(1, ((PyObject *)__pyx_int_0)); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(0, 210, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__6); | |
- __Pyx_GIVEREF(__pyx_tuple__6); | |
+ __pyx_tuple__5 = PyTuple_Pack(5, __pyx_n_s_nodes, __pyx_n_s_path_index, __pyx_n_s_node, __pyx_n_s_segment, __pyx_n_s_new_node); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(0, 217, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__5); | |
+ __Pyx_GIVEREF(__pyx_tuple__5); | |
+ __pyx_codeobj__6 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__5, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_insert, 217, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__6)) __PYX_ERR(0, 217, __pyx_L1_error) | |
+ __pyx_tuple__7 = PyTuple_Pack(1, ((PyObject *)__pyx_int_0)); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(0, 217, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__7); | |
+ __Pyx_GIVEREF(__pyx_tuple__7); | |
- /* "falcon/routing/compiled.py":298 | |
+ /* "falcon/routing/compiled.py":305 | |
* if _should_wrap_non_coroutines(): | |
* | |
* def let(responder=responder): # <<<<<<<<<<<<<< | |
* method_map[method] = wrap_sync_to_async(responder) | |
* | |
*/ | |
- __pyx_tuple__7 = PyTuple_Pack(1, __pyx_n_s_responder); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(0, 298, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__7); | |
- __Pyx_GIVEREF(__pyx_tuple__7); | |
- __pyx_codeobj__8 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__7, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_let, 298, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__8)) __PYX_ERR(0, 298, __pyx_L1_error) | |
+ __pyx_tuple__8 = PyTuple_Pack(1, __pyx_n_s_responder); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(0, 305, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__8); | |
+ __Pyx_GIVEREF(__pyx_tuple__8); | |
+ __pyx_codeobj__9 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__8, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_let, 305, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__9)) __PYX_ERR(0, 305, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":635 | |
+ /* "falcon/routing/compiled.py":648 | |
* :meth:`.CompiledRouter._compile`. | |
* """ | |
* with self._compile_lock: # <<<<<<<<<<<<<< | |
* if self._find == self._compile_and_find: | |
* # NOTE(caselit): replace the find with the result of the | |
*/ | |
- __pyx_tuple__13 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__13)) __PYX_ERR(0, 635, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__13); | |
- __Pyx_GIVEREF(__pyx_tuple__13); | |
+ __pyx_tuple__14 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__14)) __PYX_ERR(0, 648, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__14); | |
+ __Pyx_GIVEREF(__pyx_tuple__14); | |
- /* "falcon/routing/compiled.py":827 | |
+ /* "falcon/routing/compiled.py":846 | |
* def _validate(self, name): | |
* if not _IDENTIFIER_PATTERN.match(name): | |
* raise ValueError( # <<<<<<<<<<<<<< | |
* 'Invalid converter name. Names may not be blank, and may ' | |
* 'only use ASCII letters, digits, and underscores. Names' | |
*/ | |
- __pyx_tuple__17 = PyTuple_Pack(1, __pyx_kp_u_Invalid_converter_name_Names_may); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(0, 827, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__17); | |
- __Pyx_GIVEREF(__pyx_tuple__17); | |
+ __pyx_tuple__18 = PyTuple_Pack(1, __pyx_kp_u_Invalid_converter_name_Names_may); if (unlikely(!__pyx_tuple__18)) __PYX_ERR(0, 846, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__18); | |
+ __Pyx_GIVEREF(__pyx_tuple__18); | |
+ | |
+ /* "falcon/routing/compiled.py":36 | |
+ * from falcon.request import Request | |
+ * | |
+ * _CxElement = Union['_CxParent', '_CxChild'] # <<<<<<<<<<<<<< | |
+ * | |
+ * _TAB_STR = ' ' * 4 | |
+ */ | |
+ __pyx_tuple__20 = PyTuple_Pack(2, __pyx_n_u_CxParent, __pyx_n_u_CxChild); if (unlikely(!__pyx_tuple__20)) __PYX_ERR(0, 36, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__20); | |
+ __Pyx_GIVEREF(__pyx_tuple__20); | |
- /* "falcon/routing/compiled.py":34 | |
+ /* "falcon/routing/compiled.py":39 | |
* | |
* _TAB_STR = ' ' * 4 | |
* _FIELD_PATTERN = re.compile( # <<<<<<<<<<<<<< | |
* # NOTE(kgriffs): This disallows the use of the '}' character within | |
* # an argstr. However, we don't really have a way of escaping | |
*/ | |
- __pyx_tuple__20 = PyTuple_Pack(1, __pyx_kp_u_P_fname_P_cname_sep_P_cname_P_a); if (unlikely(!__pyx_tuple__20)) __PYX_ERR(0, 34, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__20); | |
- __Pyx_GIVEREF(__pyx_tuple__20); | |
+ __pyx_tuple__22 = PyTuple_Pack(1, __pyx_kp_u_P_fname_P_cname_sep_P_cname_P_a); if (unlikely(!__pyx_tuple__22)) __PYX_ERR(0, 39, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__22); | |
+ __Pyx_GIVEREF(__pyx_tuple__22); | |
- /* "falcon/routing/compiled.py":44 | |
+ /* "falcon/routing/compiled.py":49 | |
* r'{((?P<fname>[^}:]*)((?P<cname_sep>:(?P<cname>[^}\(]*))(\((?P<argstr>[^}]*)\))?)?)}' # noqa E501 | |
* ) | |
* _IDENTIFIER_PATTERN = re.compile('[A-Za-z_][A-Za-z0-9_]*$') # <<<<<<<<<<<<<< | |
* | |
* | |
*/ | |
- __pyx_tuple__21 = PyTuple_Pack(1, __pyx_kp_u_A_Za_z__A_Za_z0_9); if (unlikely(!__pyx_tuple__21)) __PYX_ERR(0, 44, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__21); | |
- __Pyx_GIVEREF(__pyx_tuple__21); | |
+ __pyx_tuple__23 = PyTuple_Pack(1, __pyx_kp_u_A_Za_z__A_Za_z0_9); if (unlikely(!__pyx_tuple__23)) __PYX_ERR(0, 49, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__23); | |
+ __Pyx_GIVEREF(__pyx_tuple__23); | |
- /* "falcon/routing/compiled.py":76 | |
+ /* "falcon/routing/compiled.py":81 | |
* | |
* __slots__ = ( | |
* '_ast', # <<<<<<<<<<<<<< | |
* '_converter_map', | |
* '_converters', | |
*/ | |
- __pyx_tuple__22 = PyTuple_Pack(10, __pyx_n_u_ast, __pyx_n_u_converter_map, __pyx_n_u_converters, __pyx_n_u_find, __pyx_n_u_finder_src, __pyx_n_u_options, __pyx_n_u_patterns, __pyx_n_u_return_values, __pyx_n_u_roots, __pyx_n_u_compile_lock); if (unlikely(!__pyx_tuple__22)) __PYX_ERR(0, 76, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__22); | |
- __Pyx_GIVEREF(__pyx_tuple__22); | |
+ __pyx_tuple__24 = PyTuple_Pack(10, __pyx_n_u_ast, __pyx_n_u_converter_map, __pyx_n_u_converters, __pyx_n_u_find, __pyx_n_u_finder_src, __pyx_n_u_options, __pyx_n_u_patterns, __pyx_n_u_return_values, __pyx_n_u_roots, __pyx_n_u_compile_lock); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(0, 81, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__24); | |
+ __Pyx_GIVEREF(__pyx_tuple__24); | |
- /* "falcon/routing/compiled.py":88 | |
+ /* "falcon/routing/compiled.py":93 | |
* ) | |
* | |
- * def __init__(self): # <<<<<<<<<<<<<< | |
- * self._ast = None | |
- * self._converters = None | |
+ * def __init__(self) -> None: # <<<<<<<<<<<<<< | |
+ * self._ast: '_CxParent' = _CxParent() | |
+ * self._converters: 'List[converters.BaseConverter]' = [] | |
*/ | |
- __pyx_tuple__23 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__23)) __PYX_ERR(0, 88, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__23); | |
- __Pyx_GIVEREF(__pyx_tuple__23); | |
- __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_init, 88, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) __PYX_ERR(0, 88, __pyx_L1_error) | |
+ __pyx_tuple__25 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(0, 93, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__25); | |
+ __Pyx_GIVEREF(__pyx_tuple__25); | |
+ __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_init, 93, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) __PYX_ERR(0, 93, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":108 | |
+ /* "falcon/routing/compiled.py":115 | |
* self._compile_lock = Lock() | |
* | |
* @property # <<<<<<<<<<<<<< | |
- * def options(self): | |
+ * def options(self) -> 'CompiledRouterOptions': | |
* return self._options | |
*/ | |
- __pyx_tuple__25 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(0, 108, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__25); | |
- __Pyx_GIVEREF(__pyx_tuple__25); | |
- __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_options_2, 108, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) __PYX_ERR(0, 108, __pyx_L1_error) | |
+ __pyx_tuple__27 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__27)) __PYX_ERR(0, 115, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__27); | |
+ __Pyx_GIVEREF(__pyx_tuple__27); | |
+ __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_options_2, 115, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) __PYX_ERR(0, 115, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":112 | |
+ /* "falcon/routing/compiled.py":119 | |
* return self._options | |
* | |
* @property # <<<<<<<<<<<<<< | |
- * def finder_src(self): | |
+ * def finder_src(self) -> str: | |
* # NOTE(caselit): ensure that the router is actually compiled before | |
*/ | |
- __pyx_tuple__27 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__27)) __PYX_ERR(0, 112, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__27); | |
- __Pyx_GIVEREF(__pyx_tuple__27); | |
- __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_finder_src_2, 112, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) __PYX_ERR(0, 112, __pyx_L1_error) | |
+ __pyx_tuple__29 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(0, 119, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__29); | |
+ __Pyx_GIVEREF(__pyx_tuple__29); | |
+ __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_finder_src_2, 119, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) __PYX_ERR(0, 119, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":120 | |
+ /* "falcon/routing/compiled.py":127 | |
* return self._finder_src | |
* | |
- * def map_http_methods(self, resource, **kwargs): # <<<<<<<<<<<<<< | |
+ * def map_http_methods(self, resource: object, **kwargs): # <<<<<<<<<<<<<< | |
* """Map HTTP methods (e.g., GET, POST) to methods of a resource object. | |
* | |
*/ | |
- __pyx_tuple__29 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_resource, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(0, 120, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__29); | |
- __Pyx_GIVEREF(__pyx_tuple__29); | |
- __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_map_http_methods, 120, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) __PYX_ERR(0, 120, __pyx_L1_error) | |
+ __pyx_tuple__31 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_resource, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(0, 127, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__31); | |
+ __Pyx_GIVEREF(__pyx_tuple__31); | |
+ __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_map_http_methods, 127, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) __PYX_ERR(0, 127, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":149 | |
+ /* "falcon/routing/compiled.py":156 | |
* return map_http_methods(resource, suffix=kwargs.get('suffix', None)) | |
* | |
- * def add_route(self, uri_template, resource, **kwargs): # <<<<<<<<<<<<<< | |
+ * def add_route(self, uri_template: str, resource: object, **kwargs): # <<<<<<<<<<<<<< | |
* """Add a route between a URI path template and a resource. | |
* | |
*/ | |
- __pyx_tuple__31 = PyTuple_Pack(11, __pyx_n_s_self, __pyx_n_s_uri_template, __pyx_n_s_resource, __pyx_n_s_kwargs, __pyx_n_s_asgi_2, __pyx_n_s_method_map, __pyx_n_s_path, __pyx_n_s_used_names, __pyx_n_s_segment, __pyx_n_s_insert, __pyx_n_s_insert); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(0, 149, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__31); | |
- __Pyx_GIVEREF(__pyx_tuple__31); | |
- __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_add_route, 149, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) __PYX_ERR(0, 149, __pyx_L1_error) | |
+ __pyx_tuple__33 = PyTuple_Pack(11, __pyx_n_s_self, __pyx_n_s_uri_template, __pyx_n_s_resource, __pyx_n_s_kwargs, __pyx_n_s_asgi_2, __pyx_n_s_method_map, __pyx_n_s_path, __pyx_n_s_used_names, __pyx_n_s_segment, __pyx_n_s_insert, __pyx_n_s_insert); if (unlikely(!__pyx_tuple__33)) __PYX_ERR(0, 156, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__33); | |
+ __Pyx_GIVEREF(__pyx_tuple__33); | |
+ __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_add_route, 156, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) __PYX_ERR(0, 156, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":255 | |
+ /* "falcon/routing/compiled.py":262 | |
* self._find = self._compile_and_find | |
* | |
- * def find(self, uri, req=None): # <<<<<<<<<<<<<< | |
+ * def find(self, uri: str, req: 'Optional[Request]' = None): # <<<<<<<<<<<<<< | |
* """Search for a route that matches the given partial URI. | |
* | |
*/ | |
- __pyx_tuple__33 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_uri, __pyx_n_s_req, __pyx_n_s_path, __pyx_n_s_params, __pyx_n_s_node); if (unlikely(!__pyx_tuple__33)) __PYX_ERR(0, 255, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__33); | |
- __Pyx_GIVEREF(__pyx_tuple__33); | |
- __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_find_2, 255, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) __PYX_ERR(0, 255, __pyx_L1_error) | |
- __pyx_tuple__35 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 255, __pyx_L1_error) | |
+ __pyx_tuple__35 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_uri, __pyx_n_s_req, __pyx_n_s_path, __pyx_n_s_params, __pyx_n_s_node); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 262, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_tuple__35); | |
__Pyx_GIVEREF(__pyx_tuple__35); | |
+ __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_find_2, 262, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) __PYX_ERR(0, 262, __pyx_L1_error) | |
+ __pyx_tuple__37 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__37)) __PYX_ERR(0, 262, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__37); | |
+ __Pyx_GIVEREF(__pyx_tuple__37); | |
- /* "falcon/routing/compiled.py":288 | |
+ /* "falcon/routing/compiled.py":295 | |
* # ----------------------------------------------------------------- | |
* | |
- * def _require_coroutine_responders(self, method_map): # <<<<<<<<<<<<<< | |
+ * def _require_coroutine_responders(self, method_map: dict): # <<<<<<<<<<<<<< | |
* for method, responder in method_map.items(): | |
* # NOTE(kgriffs): We don't simply wrap non-async functions | |
*/ | |
- __pyx_tuple__36 = PyTuple_Pack(7, __pyx_n_s_self, __pyx_n_s_method_map, __pyx_n_s_method, __pyx_n_s_responder, __pyx_n_s_let, __pyx_n_s_let, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(0, 288, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__36); | |
- __Pyx_GIVEREF(__pyx_tuple__36); | |
- __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_require_coroutine_responders, 288, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) __PYX_ERR(0, 288, __pyx_L1_error) | |
+ __pyx_tuple__38 = PyTuple_Pack(7, __pyx_n_s_self, __pyx_n_s_method_map, __pyx_n_s_method, __pyx_n_s_responder, __pyx_n_s_let, __pyx_n_s_let, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(0, 295, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__38); | |
+ __Pyx_GIVEREF(__pyx_tuple__38); | |
+ __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_require_coroutine_responders, 295, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) __PYX_ERR(0, 295, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":312 | |
+ /* "falcon/routing/compiled.py":319 | |
* raise TypeError(msg) | |
* | |
- * def _require_non_coroutine_responders(self, method_map): # <<<<<<<<<<<<<< | |
+ * def _require_non_coroutine_responders(self, method_map: dict): # <<<<<<<<<<<<<< | |
* for method, responder in method_map.items(): | |
* # NOTE(kgriffs): We don't simply wrap non-async functions | |
*/ | |
- __pyx_tuple__38 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_method_map, __pyx_n_s_method, __pyx_n_s_responder, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(0, 312, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__38); | |
- __Pyx_GIVEREF(__pyx_tuple__38); | |
- __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_require_non_coroutine_responder, 312, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) __PYX_ERR(0, 312, __pyx_L1_error) | |
+ __pyx_tuple__40 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_method_map, __pyx_n_s_method, __pyx_n_s_responder, __pyx_n_s_msg); if (unlikely(!__pyx_tuple__40)) __PYX_ERR(0, 319, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__40); | |
+ __Pyx_GIVEREF(__pyx_tuple__40); | |
+ __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_require_non_coroutine_responder, 319, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) __PYX_ERR(0, 319, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":328 | |
+ /* "falcon/routing/compiled.py":335 | |
* raise TypeError(msg) | |
* | |
- * def _validate_template_segment(self, segment, used_names): # <<<<<<<<<<<<<< | |
+ * def _validate_template_segment(self, segment: str, used_names: 'Set[str]'): # <<<<<<<<<<<<<< | |
* """Validate a single path segment of a URI template. | |
* | |
*/ | |
- __pyx_tuple__40 = PyTuple_Pack(9, __pyx_n_s_self, __pyx_n_s_segment, __pyx_n_s_used_names, __pyx_n_s_field, __pyx_n_s_name_2, __pyx_n_s_is_identifier, __pyx_n_s_msg_template, __pyx_n_s_msg, __pyx_n_s_e); if (unlikely(!__pyx_tuple__40)) __PYX_ERR(0, 328, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__40); | |
- __Pyx_GIVEREF(__pyx_tuple__40); | |
- __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_validate_template_segment, 328, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) __PYX_ERR(0, 328, __pyx_L1_error) | |
+ __pyx_tuple__42 = PyTuple_Pack(9, __pyx_n_s_self, __pyx_n_s_segment, __pyx_n_s_used_names, __pyx_n_s_field, __pyx_n_s_name_2, __pyx_n_s_is_identifier, __pyx_n_s_msg_template, __pyx_n_s_msg, __pyx_n_s_e); if (unlikely(!__pyx_tuple__42)) __PYX_ERR(0, 335, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__42); | |
+ __Pyx_GIVEREF(__pyx_tuple__42); | |
+ __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_validate_template_segment, 335, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) __PYX_ERR(0, 335, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":381 | |
+ /* "falcon/routing/compiled.py":388 | |
* raise ValueError(msg) from e | |
* | |
* def _generate_ast( # <<<<<<<<<<<<<< | |
* self, | |
- * nodes: list, | |
+ * nodes: 'List[CompiledRouterNode]', | |
*/ | |
- __pyx_tuple__43 = PyTuple_Pack(29, __pyx_n_s_self, __pyx_n_s_nodes, __pyx_n_s_parent, __pyx_n_s_return_values_2, __pyx_n_s_patterns_2, __pyx_n_s_params_stack, __pyx_n_s_level, __pyx_n_s_fast_return, __pyx_n_s_outer_parent, __pyx_n_s_found_simple, __pyx_n_s_var_nodes, __pyx_n_s_found_var_nodes, __pyx_n_s_construct, __pyx_n_s_setter, __pyx_n_s_original_params_stack, __pyx_n_s_node, __pyx_n_s_pattern_idx, __pyx_n_s_field_name, __pyx_n_s__42, __pyx_n_s_converter_name, __pyx_n_s_converter_argstr, __pyx_n_s_converter_class, __pyx_n_s_converter_obj, __pyx_n_s_converter_idx, __pyx_n_s_found_nodes, __pyx_n_s_resource_idx, __pyx_n_s_params, __pyx_n_s_node, __pyx_n_s_node_2); if (unlikely(!__pyx_tuple__43)) __PYX_ERR(0, 381, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__43); | |
- __Pyx_GIVEREF(__pyx_tuple__43); | |
- __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(8, 0, 0, 29, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_generate_ast, 381, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) __PYX_ERR(0, 381, __pyx_L1_error) | |
- __pyx_tuple__45 = PyTuple_Pack(2, ((PyObject *)__pyx_int_0), ((PyObject *)Py_True)); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 381, __pyx_L1_error) | |
+ __pyx_tuple__45 = PyTuple_Pack(32, __pyx_n_s_self, __pyx_n_s_nodes, __pyx_n_s_parent, __pyx_n_s_return_values_2, __pyx_n_s_patterns_2, __pyx_n_s_params_stack, __pyx_n_s_level, __pyx_n_s_fast_return, __pyx_n_s_outer_parent, __pyx_n_s_found_simple, __pyx_n_s_var_nodes, __pyx_n_s_found_var_nodes, __pyx_n_s_original_params_stack, __pyx_n_s_node, __pyx_n_s_pattern_idx, __pyx_n_s_cx_segment, __pyx_n_s_cx_pattern, __pyx_n_s_field_name, __pyx_n_s__44, __pyx_n_s_converter_name, __pyx_n_s_converter_argstr, __pyx_n_s_converter_class, __pyx_n_s_converter_obj, __pyx_n_s_converter_idx, __pyx_n_s_cx_converter, __pyx_n_s_found_nodes, __pyx_n_s_cx_literal, __pyx_n_s_resource_idx, __pyx_n_s_cx_path_len, __pyx_n_s_params, __pyx_n_s_node, __pyx_n_s_node_2); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 388, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_tuple__45); | |
__Pyx_GIVEREF(__pyx_tuple__45); | |
+ __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(8, 0, 0, 32, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_generate_ast, 388, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) __PYX_ERR(0, 388, __pyx_L1_error) | |
+ __pyx_tuple__47 = PyTuple_Pack(2, ((PyObject *)__pyx_int_0), ((PyObject *)Py_True)); if (unlikely(!__pyx_tuple__47)) __PYX_ERR(0, 388, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__47); | |
+ __Pyx_GIVEREF(__pyx_tuple__47); | |
- /* "falcon/routing/compiled.py":547 | |
+ /* "falcon/routing/compiled.py":555 | |
* parent.append_child(_CxReturnNone()) | |
* | |
* def _generate_conversion_ast( # <<<<<<<<<<<<<< | |
- * self, parent, node: 'CompiledRouterNode', params_stack: list | |
- * ): | |
+ * self, | |
+ * parent: '_CxParent', | |
*/ | |
- __pyx_tuple__46 = PyTuple_Pack(12, __pyx_n_s_self, __pyx_n_s_parent, __pyx_n_s_node, __pyx_n_s_params_stack, __pyx_n_s_construct, __pyx_n_s_setter, __pyx_n_s_field_name, __pyx_n_s_converter_name, __pyx_n_s_converter_argstr, __pyx_n_s_converter_class, __pyx_n_s_converter_obj, __pyx_n_s_converter_idx); if (unlikely(!__pyx_tuple__46)) __PYX_ERR(0, 547, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__46); | |
- __Pyx_GIVEREF(__pyx_tuple__46); | |
- __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 12, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_generate_conversion_ast, 547, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) __PYX_ERR(0, 547, __pyx_L1_error) | |
+ __pyx_tuple__48 = PyTuple_Pack(12, __pyx_n_s_self, __pyx_n_s_parent, __pyx_n_s_node, __pyx_n_s_params_stack, __pyx_n_s_field_name, __pyx_n_s_converter_name, __pyx_n_s_converter_argstr, __pyx_n_s_converter_class, __pyx_n_s_converter_obj, __pyx_n_s_converter_idx, __pyx_n_s_cx_converter, __pyx_n_s_cx_pattern_match); if (unlikely(!__pyx_tuple__48)) __PYX_ERR(0, 555, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__48); | |
+ __Pyx_GIVEREF(__pyx_tuple__48); | |
+ __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 12, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_generate_conversion_ast, 555, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) __PYX_ERR(0, 555, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":582 | |
+ /* "falcon/routing/compiled.py":595 | |
* return parent | |
* | |
- * def _compile(self): # <<<<<<<<<<<<<< | |
+ * def _compile(self) -> 'Callable': # TODO type better # <<<<<<<<<<<<<< | |
* """Generate Python code for the entire routing tree. | |
* | |
*/ | |
- __pyx_tuple__48 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_src_lines, __pyx_n_s_scope); if (unlikely(!__pyx_tuple__48)) __PYX_ERR(0, 582, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__48); | |
- __Pyx_GIVEREF(__pyx_tuple__48); | |
- __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_compile_2, 582, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) __PYX_ERR(0, 582, __pyx_L1_error) | |
+ __pyx_tuple__50 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_src_lines, __pyx_n_s_scope); if (unlikely(!__pyx_tuple__50)) __PYX_ERR(0, 595, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__50); | |
+ __Pyx_GIVEREF(__pyx_tuple__50); | |
+ __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_compile_2, 595, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) __PYX_ERR(0, 595, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":618 | |
+ /* "falcon/routing/compiled.py":631 | |
* return scope['find'] | |
* | |
* def _instantiate_converter(self, klass, argstr=None): # <<<<<<<<<<<<<< | |
* if argstr is None: | |
* return klass() | |
*/ | |
- __pyx_tuple__50 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_klass, __pyx_n_s_argstr, __pyx_n_s_src); if (unlikely(!__pyx_tuple__50)) __PYX_ERR(0, 618, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__50); | |
- __Pyx_GIVEREF(__pyx_tuple__50); | |
- __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_instantiate_converter, 618, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) __PYX_ERR(0, 618, __pyx_L1_error) | |
- __pyx_tuple__52 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__52)) __PYX_ERR(0, 618, __pyx_L1_error) | |
+ __pyx_tuple__52 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_klass, __pyx_n_s_argstr, __pyx_n_s_src); if (unlikely(!__pyx_tuple__52)) __PYX_ERR(0, 631, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_tuple__52); | |
__Pyx_GIVEREF(__pyx_tuple__52); | |
+ __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_instantiate_converter, 631, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) __PYX_ERR(0, 631, __pyx_L1_error) | |
+ __pyx_tuple__54 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__54)) __PYX_ERR(0, 631, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__54); | |
+ __Pyx_GIVEREF(__pyx_tuple__54); | |
- /* "falcon/routing/compiled.py":626 | |
+ /* "falcon/routing/compiled.py":639 | |
* return eval(src, {klass.__name__: klass}) | |
* | |
* def _compile_and_find(self, path, _return_values, _patterns, _converters, params): # <<<<<<<<<<<<<< | |
* """Compile the router, set the `_find` attribute and return its result. | |
* | |
*/ | |
- __pyx_tuple__53 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_path, __pyx_n_s_return_values, __pyx_n_s_patterns, __pyx_n_s_converters, __pyx_n_s_params); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(0, 626, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__53); | |
- __Pyx_GIVEREF(__pyx_tuple__53); | |
- __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(6, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_compile_and_find, 626, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) __PYX_ERR(0, 626, __pyx_L1_error) | |
+ __pyx_tuple__55 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_path, __pyx_n_s_return_values, __pyx_n_s_patterns, __pyx_n_s_converters, __pyx_n_s_params); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(0, 639, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__55); | |
+ __Pyx_GIVEREF(__pyx_tuple__55); | |
+ __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(6, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_compile_and_find, 639, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) __PYX_ERR(0, 639, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":650 | |
+ /* "falcon/routing/compiled.py":663 | |
* """Represents a single URI segment in a URI.""" | |
* | |
- * def __init__(self, raw_segment, method_map=None, resource=None, uri_template=None): # <<<<<<<<<<<<<< | |
- * self.children = [] | |
- * | |
+ * def __init__( # <<<<<<<<<<<<<< | |
+ * self, | |
+ * raw_segment: str, | |
*/ | |
- __pyx_tuple__55 = PyTuple_Pack(9, __pyx_n_s_self, __pyx_n_s_raw_segment, __pyx_n_s_method_map, __pyx_n_s_resource, __pyx_n_s_uri_template, __pyx_n_s_matches, __pyx_n_s_field, __pyx_n_s_escaped_segment, __pyx_n_s_pattern_text); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(0, 650, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__55); | |
- __Pyx_GIVEREF(__pyx_tuple__55); | |
- __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_init, 650, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) __PYX_ERR(0, 650, __pyx_L1_error) | |
- __pyx_tuple__57 = PyTuple_Pack(3, ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__57)) __PYX_ERR(0, 650, __pyx_L1_error) | |
+ __pyx_tuple__57 = PyTuple_Pack(9, __pyx_n_s_self, __pyx_n_s_raw_segment, __pyx_n_s_method_map, __pyx_n_s_resource, __pyx_n_s_uri_template, __pyx_n_s_matches, __pyx_n_s_field, __pyx_n_s_escaped_segment, __pyx_n_s_pattern_text); if (unlikely(!__pyx_tuple__57)) __PYX_ERR(0, 663, __pyx_L1_error) | |
__Pyx_GOTREF(__pyx_tuple__57); | |
__Pyx_GIVEREF(__pyx_tuple__57); | |
+ __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(5, 0, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_init, 663, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) __PYX_ERR(0, 663, __pyx_L1_error) | |
+ __pyx_tuple__59 = PyTuple_Pack(3, ((PyObject *)Py_None), ((PyObject *)Py_None), ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__59)) __PYX_ERR(0, 663, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__59); | |
+ __Pyx_GIVEREF(__pyx_tuple__59); | |
- /* "falcon/routing/compiled.py":738 | |
+ /* "falcon/routing/compiled.py":757 | |
* assert self.is_var | |
* | |
- * def matches(self, segment): # <<<<<<<<<<<<<< | |
+ * def matches(self, segment: str): # <<<<<<<<<<<<<< | |
* """Return True if this node matches the supplied template segment.""" | |
* | |
*/ | |
- __pyx_tuple__58 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_segment); if (unlikely(!__pyx_tuple__58)) __PYX_ERR(0, 738, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__58); | |
- __Pyx_GIVEREF(__pyx_tuple__58); | |
- __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_matches, 738, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) __PYX_ERR(0, 738, __pyx_L1_error) | |
+ __pyx_tuple__60 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_segment); if (unlikely(!__pyx_tuple__60)) __PYX_ERR(0, 757, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__60); | |
+ __Pyx_GIVEREF(__pyx_tuple__60); | |
+ __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_matches, 757, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) __PYX_ERR(0, 757, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":743 | |
+ /* "falcon/routing/compiled.py":762 | |
* return segment == self.raw_segment | |
* | |
- * def conflicts_with(self, segment): # <<<<<<<<<<<<<< | |
+ * def conflicts_with(self, segment: str): # <<<<<<<<<<<<<< | |
* """Return True if this node conflicts with a given template segment.""" | |
* | |
*/ | |
- __pyx_tuple__60 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_segment, __pyx_n_s_other); if (unlikely(!__pyx_tuple__60)) __PYX_ERR(0, 743, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__60); | |
- __Pyx_GIVEREF(__pyx_tuple__60); | |
- __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_conflicts_with, 743, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) __PYX_ERR(0, 743, __pyx_L1_error) | |
+ __pyx_tuple__62 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_segment, __pyx_n_s_other); if (unlikely(!__pyx_tuple__62)) __PYX_ERR(0, 762, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__62); | |
+ __Pyx_GIVEREF(__pyx_tuple__62); | |
+ __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_conflicts_with, 762, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) __PYX_ERR(0, 762, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":803 | |
+ /* "falcon/routing/compiled.py":822 | |
* """A dict-like class for storing field converters.""" | |
* | |
* def update(self, other): # <<<<<<<<<<<<<< | |
* try: | |
* # NOTE(kgriffs): If it is a mapping type, it should | |
*/ | |
- __pyx_tuple__62 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_other, __pyx_n_s_names, __pyx_n_s_n, __pyx_n_s_n, __pyx_n_s__42); if (unlikely(!__pyx_tuple__62)) __PYX_ERR(0, 803, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__62); | |
- __Pyx_GIVEREF(__pyx_tuple__62); | |
- __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_update, 803, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) __PYX_ERR(0, 803, __pyx_L1_error) | |
+ __pyx_tuple__64 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_other, __pyx_n_s_names, __pyx_n_s_n, __pyx_n_s_n, __pyx_n_s__44); if (unlikely(!__pyx_tuple__64)) __PYX_ERR(0, 822, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__64); | |
+ __Pyx_GIVEREF(__pyx_tuple__64); | |
+ __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_update, 822, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) __PYX_ERR(0, 822, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":821 | |
+ /* "falcon/routing/compiled.py":840 | |
* UserDict.update(self, other) | |
* | |
* def __setitem__(self, name, converter): # <<<<<<<<<<<<<< | |
* self._validate(name) | |
* UserDict.__setitem__(self, name, converter) | |
*/ | |
- __pyx_tuple__64 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_name_2, __pyx_n_s_converter); if (unlikely(!__pyx_tuple__64)) __PYX_ERR(0, 821, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__64); | |
- __Pyx_GIVEREF(__pyx_tuple__64); | |
- __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_setitem, 821, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) __PYX_ERR(0, 821, __pyx_L1_error) | |
+ __pyx_tuple__66 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_name_2, __pyx_n_s_converter); if (unlikely(!__pyx_tuple__66)) __PYX_ERR(0, 840, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__66); | |
+ __Pyx_GIVEREF(__pyx_tuple__66); | |
+ __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_setitem, 840, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) __PYX_ERR(0, 840, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":825 | |
+ /* "falcon/routing/compiled.py":844 | |
* UserDict.__setitem__(self, name, converter) | |
* | |
* def _validate(self, name): # <<<<<<<<<<<<<< | |
* if not _IDENTIFIER_PATTERN.match(name): | |
* raise ValueError( | |
*/ | |
- __pyx_tuple__66 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_name_2); if (unlikely(!__pyx_tuple__66)) __PYX_ERR(0, 825, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__66); | |
- __Pyx_GIVEREF(__pyx_tuple__66); | |
- __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_validate, 825, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) __PYX_ERR(0, 825, __pyx_L1_error) | |
+ __pyx_tuple__68 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_name_2); if (unlikely(!__pyx_tuple__68)) __PYX_ERR(0, 844, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__68); | |
+ __Pyx_GIVEREF(__pyx_tuple__68); | |
+ __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_validate, 844, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) __PYX_ERR(0, 844, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":868 | |
+ /* "falcon/routing/compiled.py":887 | |
* """ | |
* | |
* __slots__ = ('converters',) # <<<<<<<<<<<<<< | |
* | |
* def __init__(self): | |
*/ | |
- __pyx_tuple__68 = PyTuple_Pack(1, __pyx_n_u_converters_2); if (unlikely(!__pyx_tuple__68)) __PYX_ERR(0, 868, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__68); | |
- __Pyx_GIVEREF(__pyx_tuple__68); | |
+ __pyx_tuple__70 = PyTuple_Pack(1, __pyx_n_u_converters_2); if (unlikely(!__pyx_tuple__70)) __PYX_ERR(0, 887, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__70); | |
+ __Pyx_GIVEREF(__pyx_tuple__70); | |
- /* "falcon/routing/compiled.py":870 | |
+ /* "falcon/routing/compiled.py":889 | |
* __slots__ = ('converters',) | |
* | |
* def __init__(self): # <<<<<<<<<<<<<< | |
* self.converters = ConverterDict( | |
* (name, converter) for name, converter in converters.BUILTIN | |
*/ | |
- __pyx_tuple__69 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__69)) __PYX_ERR(0, 870, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__69); | |
- __Pyx_GIVEREF(__pyx_tuple__69); | |
- __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_init, 870, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) __PYX_ERR(0, 870, __pyx_L1_error) | |
+ __pyx_tuple__71 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__71)) __PYX_ERR(0, 889, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__71); | |
+ __Pyx_GIVEREF(__pyx_tuple__71); | |
+ __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_init, 889, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) __PYX_ERR(0, 889, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":890 | |
+ /* "falcon/routing/compiled.py":909 | |
* | |
* class _CxParent: | |
* def __init__(self): # <<<<<<<<<<<<<< | |
- * self._children = [] | |
+ * self._children: 'List[_CxElement]' = [] | |
* | |
*/ | |
- __pyx_tuple__71 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__71)) __PYX_ERR(0, 890, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__71); | |
- __Pyx_GIVEREF(__pyx_tuple__71); | |
- __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_init, 890, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) __PYX_ERR(0, 890, __pyx_L1_error) | |
+ __pyx_tuple__73 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__73)) __PYX_ERR(0, 909, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__73); | |
+ __Pyx_GIVEREF(__pyx_tuple__73); | |
+ __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_init, 909, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) __PYX_ERR(0, 909, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":893 | |
- * self._children = [] | |
+ /* "falcon/routing/compiled.py":912 | |
+ * self._children: 'List[_CxElement]' = [] | |
* | |
- * def append_child(self, construct): # <<<<<<<<<<<<<< | |
+ * def append_child(self, construct: '_CxElement'): # <<<<<<<<<<<<<< | |
* self._children.append(construct) | |
* | |
*/ | |
- __pyx_tuple__73 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_construct); if (unlikely(!__pyx_tuple__73)) __PYX_ERR(0, 893, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__73); | |
- __Pyx_GIVEREF(__pyx_tuple__73); | |
- __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_append_child, 893, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) __PYX_ERR(0, 893, __pyx_L1_error) | |
+ __pyx_tuple__75 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_construct); if (unlikely(!__pyx_tuple__75)) __PYX_ERR(0, 912, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__75); | |
+ __Pyx_GIVEREF(__pyx_tuple__75); | |
+ __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_append_child, 912, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) __PYX_ERR(0, 912, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":896 | |
+ /* "falcon/routing/compiled.py":915 | |
* self._children.append(construct) | |
* | |
- * def src(self, indentation): # <<<<<<<<<<<<<< | |
+ * def src(self, indentation: int) -> str: # <<<<<<<<<<<<<< | |
* return self._children_src(indentation + 1) | |
* | |
*/ | |
- __pyx_tuple__75 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_indentation); if (unlikely(!__pyx_tuple__75)) __PYX_ERR(0, 896, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__75); | |
- __Pyx_GIVEREF(__pyx_tuple__75); | |
- __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_src, 896, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) __PYX_ERR(0, 896, __pyx_L1_error) | |
+ __pyx_tuple__77 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_indentation); if (unlikely(!__pyx_tuple__77)) __PYX_ERR(0, 915, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__77); | |
+ __Pyx_GIVEREF(__pyx_tuple__77); | |
+ __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_src, 915, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) __PYX_ERR(0, 915, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":899 | |
+ /* "falcon/routing/compiled.py":918 | |
* return self._children_src(indentation + 1) | |
* | |
* def _children_src(self, indentation): # <<<<<<<<<<<<<< | |
* src_lines = [child.src(indentation) for child in self._children] | |
* | |
*/ | |
- __pyx_tuple__77 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_indentation, __pyx_n_s_src_lines, __pyx_n_s_child); if (unlikely(!__pyx_tuple__77)) __PYX_ERR(0, 899, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__77); | |
- __Pyx_GIVEREF(__pyx_tuple__77); | |
- __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_children_src, 899, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) __PYX_ERR(0, 899, __pyx_L1_error) | |
+ __pyx_tuple__79 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_indentation, __pyx_n_s_src_lines, __pyx_n_s_child); if (unlikely(!__pyx_tuple__79)) __PYX_ERR(0, 918, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__79); | |
+ __Pyx_GIVEREF(__pyx_tuple__79); | |
+ __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_children_src, 918, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) __PYX_ERR(0, 918, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":906 | |
+ /* "falcon/routing/compiled.py":926 | |
+ * class _CxChild: | |
+ * # This a base element only to aid pep484 | |
+ * def src(self, indentation: int) -> str: # <<<<<<<<<<<<<< | |
+ * raise NotImplementedError | |
+ * | |
+ */ | |
+ __pyx_tuple__81 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_indentation); if (unlikely(!__pyx_tuple__81)) __PYX_ERR(0, 926, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__81); | |
+ __Pyx_GIVEREF(__pyx_tuple__81); | |
+ __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_src, 926, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) __PYX_ERR(0, 926, __pyx_L1_error) | |
+ | |
+ /* "falcon/routing/compiled.py":931 | |
* | |
* class _CxIfPathLength(_CxParent): | |
* def __init__(self, comparison, length): # <<<<<<<<<<<<<< | |
* super().__init__() | |
* self._comparison = comparison | |
*/ | |
- __pyx_tuple__79 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_comparison, __pyx_n_s_length); if (unlikely(!__pyx_tuple__79)) __PYX_ERR(0, 906, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__79); | |
- __Pyx_GIVEREF(__pyx_tuple__79); | |
- __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_init, 906, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) __PYX_ERR(0, 906, __pyx_L1_error) | |
+ __pyx_tuple__83 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_comparison, __pyx_n_s_length); if (unlikely(!__pyx_tuple__83)) __PYX_ERR(0, 931, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__83); | |
+ __Pyx_GIVEREF(__pyx_tuple__83); | |
+ __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_init, 931, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) __PYX_ERR(0, 931, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":911 | |
+ /* "falcon/routing/compiled.py":936 | |
* self._length = length | |
* | |
* def src(self, indentation): # <<<<<<<<<<<<<< | |
* template = '{0}if path_len {1} {2}:\n{3}' | |
* return template.format( | |
*/ | |
- __pyx_tuple__81 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_indentation, __pyx_n_s_template); if (unlikely(!__pyx_tuple__81)) __PYX_ERR(0, 911, __pyx_L1_error) | |
- __Pyx_GOTREF(__pyx_tuple__81); | |
- __Pyx_GIVEREF(__pyx_tuple__81); | |
- __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_src, 911, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) __PYX_ERR(0, 911, __pyx_L1_error) | |
+ __pyx_tuple__85 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_indentation, __pyx_n_s_template); if (unlikely(!__pyx_tuple__85)) __PYX_ERR(0, 936, __pyx_L1_error) | |
+ __Pyx_GOTREF(__pyx_tuple__85); | |
+ __Pyx_GIVEREF(__pyx_tuple__85); | |
+ __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_falcon_routing_compiled_py, __pyx_n_s_src, 936, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) __PYX_ERR(0, 936, __pyx_L1_error) | |
- /* "falcon/routing/compiled.py":922 | |
+ /* "falcon/routing/compiled.py":947 | |
* | |
* class _CxIfPathSegmentLiteral(_CxPare |
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment