<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def fibonacci(cls, request,
                  limit: (Ptypes.path,
                          Integer('Upper limit of the series'))) -> [
            (200, 'Ok', FibonacciFragment)]:
        '''Return Fibonacci sequence whose last number is <= limit.'''
        def fibonacci_generator():
            last_two = (0, 1)
            while last_two[1] <= limit:
                log.debug('Fibonacci number generated: {}'.format(last_two[1]))
                yield last_two[1]
                last_two = last_two[1], sum(last_two)
        log.info('Starting Fibonacci generation, max: {}'.format(limit))
        limit = int(limit)
        Respond(200, fibonacci_generator())