コード例 #1
0
ファイル: wsgi.py プロジェクト: PoorHttp/PoorWSGI
    def set_regular_route(self,
                          uri: str,
                          fun: Callable,
                          method: int = METHOD_HEAD | METHOD_GET,
                          converters=(),
                          rule: str = None):
        r"""Set handler for uri defined by regular expression.

        Another way to add fn as handler for uri defined by regular expression.
        See Application.regular_route documentation for details.


        .. code:: python

            app.set_regular_route('/use/\w+/post', user_create, METHOD_POST)

        This method is internally use, when groups are found in static route,
        adding by route or set_route method.
        """
        # pylint: disable=too-many-arguments
        r_uri = re.compile(uri, re.U)
        if r_uri not in self.__rhandlers:
            self.__rhandlers[r_uri] = {}
        for val in methods.values():
            if method & val:
                self.__rhandlers[r_uri][val] = (fun, converters, rule)
コード例 #2
0
ファイル: wsgi.py プロジェクト: PoorHttp/PoorWSGI
    def set_route(self,
                  uri: str,
                  fun: Callable,
                  method: int = METHOD_HEAD | METHOD_GET):
        """Set handler for uri and method.

        Another way to add fun as handler for uri. See Application.route
        documentation for details.

        .. code:: python

            app.set_route('/use/post', user_create, METHOD_POST)
        """
        if re_filter.search(uri):
            r_uri = re_filter.sub(self.__regex, uri) + '$'
            converters = tuple(
                (g[0], self.__converter(g[1]))
                for g in (m.groups() for m in re_filter.finditer(uri)))
            self.set_regular_route(r_uri, fun, method, converters, uri)
        else:
            if uri not in self.__handlers:
                self.__handlers[uri] = {}
            for val in methods.values():
                if method & val:
                    self.__handlers[uri][val] = fun
コード例 #3
0
ファイル: wsgi.py プロジェクト: PoorHttp/PoorWSGI
 def set_http_state(self, code, fn,
                    method=METHOD_HEAD | METHOD_GET | METHOD_POST):
     """Set fn as handler for http state code and method."""
     if code not in self.__shandlers:
         self.__shandlers[code] = {}
     for m in methods.values():
         if method & m:
             self.__shandlers[code][m] = fn
コード例 #4
0
 def set_http_state(self, code, fn,
                    method=METHOD_HEAD | METHOD_GET | METHOD_POST):
     """Set fn as handler for http state code and method."""
     if code not in self.__shandlers:
         self.__shandlers[code] = {}
     for m in methods.values():
         if method & m:
             self.__shandlers[code][m] = fn
コード例 #5
0
ファイル: wsgi.py プロジェクト: PoorHttp/PoorWSGI
 def set_http_state(self,
                    status_code: int,
                    fun: Callable,
                    method: int = METHOD_HEAD | METHOD_GET | METHOD_POST):
     """Set function as handler for http state code and method."""
     if status_code not in self.__shandlers:
         self.__shandlers[status_code] = {}
     for val in methods.values():
         if method & val:
             self.__shandlers[status_code][val] = fun
コード例 #6
0
    def set_default(self, fn, method=METHOD_HEAD | METHOD_GET):
        """Set default handler.

        Set fn default handler for http method called befor error_not_found.

            app.set_default(default_get_post, METHOD_GET_POST)
        """
        for m in methods.values():
            if method & m:
                self.__dhandlers[m] = fn
コード例 #7
0
ファイル: wsgi.py プロジェクト: PoorHttp/PoorWSGI
    def set_default(self, fn, method=METHOD_HEAD | METHOD_GET):
        """Set default handler.

        Set fn default handler for http method called befor error_not_found.

            app.set_default(default_get_post, METHOD_GET_POST)
        """
        for m in methods.values():
            if method & m:
                self.__dhandlers[m] = fn
コード例 #8
0
ファイル: wsgi.py プロジェクト: PoorHttp/PoorWSGI
 def set_error_handler(self,
                       error: Type[Exception],
                       fun: Callable,
                       method: int = METHOD_HEAD | METHOD_GET
                       | METHOD_POST):
     """Set function as handler for exception and method."""
     if error not in self.__ehandlers:
         self.__ehandlers[error] = {}
     for val in methods.values():
         if method & val:
             self.__ehandlers[error][val] = fun
コード例 #9
0
ファイル: wsgi.py プロジェクト: PoorHttp/PoorWSGI
    def set_default(self,
                    fun: Callable,
                    method: int = METHOD_HEAD | METHOD_GET):
        """Set default handler.

        Set fun default handler for http method called before error_not_found.

        .. code:: python

            app.set_default(default_get_post, METHOD_GET_POST)
        """
        for val in methods.values():
            if method & val:
                self.__dhandlers[val] = fun
コード例 #10
0
    def set_rroute(self, r_uri, fn, method=METHOD_HEAD | METHOD_GET,
                   convertors=()):
        """Set hanlder for uri defined by regular expression.

        Another way to add fn as handler for uri defined by regular expression.
        See Application.rroute documentation for details.

            app.set_rroute('/use/\w+/post', user_create, METHOD_POST)

        This method is internally use, when groups are found in static route,
        adding by route or set_route method.
        """
        r_uri = re.compile(r_uri, re.U)
        if r_uri not in self.__rhandlers:
            self.__rhandlers[r_uri] = {}
        for m in methods.values():
            if method & m:
                self.__rhandlers[r_uri][m] = (fn, convertors)
コード例 #11
0
ファイル: wsgi.py プロジェクト: PoorHttp/PoorWSGI
    def set_rroute(self, r_uri, fn, method=METHOD_HEAD | METHOD_GET,
                   convertors=()):
        """Set hanlder for uri defined by regular expression.

        Another way to add fn as handler for uri defined by regular expression.
        See Application.rroute documentation for details.

            app.set_rroute('/use/\w+/post', user_create, METHOD_POST)

        This method is internally use, when groups are found in static route,
        adding by route or set_route method.
        """
        r_uri = re.compile(r_uri, re.U)
        if r_uri not in self.__rhandlers:
            self.__rhandlers[r_uri] = {}
        for m in methods.values():
            if method & m:
                self.__rhandlers[r_uri][m] = (fn, convertors)
コード例 #12
0
    def set_route(self, uri, fn, method=METHOD_HEAD | METHOD_GET):
        """Set handler for uri and method.

        Another way to add fn as handler for uri. See Application.route
        documentation for details.

            app.set_route('/use/post', user_create, METHOD_POST)
        """
        uri = uni(uri)

        if re_filter.search(uri):
            r_uri = re_filter.sub(self.__regex, uri) + '$'
            convertors = tuple((g[0], self.__convertor(g[1]))
                               for g in (m.groups()
                               for m in re_filter.finditer(uri)))
            self.set_rroute(r_uri, fn, method, convertors)
        else:
            if uri not in self.__handlers:
                self.__handlers[uri] = {}
            for m in methods.values():
                if method & m:
                    self.__handlers[uri][m] = fn
コード例 #13
0
ファイル: wsgi.py プロジェクト: PoorHttp/PoorWSGI
    def set_route(self, uri, fn, method=METHOD_HEAD | METHOD_GET):
        """Set handler for uri and method.

        Another way to add fn as handler for uri. See Application.route
        documentation for details.

            app.set_route('/use/post', user_create, METHOD_POST)
        """
        uri = uni(uri)

        if re_filter.search(uri):
            r_uri = re_filter.sub(self.__regex, uri) + '$'
            convertors = tuple((g[0], self.__convertor(g[1]))
                               for g in (m.groups()
                               for m in re_filter.finditer(uri)))
            self.set_rroute(r_uri, fn, method, convertors)
        else:
            if uri not in self.__handlers:
                self.__handlers[uri] = {}
            for m in methods.values():
                if method & m:
                    self.__handlers[uri][m] = fn
コード例 #14
0
def __fill_default_shandlers(code: int, handler: Callable):
    default_states[code] = {}
    for val in methods.values():
        default_states[code][val] = handler
コード例 #15
0
ファイル: results.py プロジェクト: JPilarr/PoorWSGI
def __fill_default_shandlers(code, handler):
    default_shandlers[code] = {}
    for m in methods.values():
        default_shandlers[code][m] = handler
コード例 #16
0
ファイル: results.py プロジェクト: PoorHttp/PoorWSGI
def __fill_default_shandlers(code, handler):
    default_shandlers[code] = {}
    for m in methods.values():
        default_shandlers[code][m] = handler