class Next

class Next

lib/net/http/next.tya:2

Next provides the net/http/Next standard library API.

Source
# Next provides the net/http/Next standard library API.
class Next
  # Next.handler stores instance state.
  # @type Nil
  handler: nil

  # Next.index stores instance state.
  # @type Nil
  index: nil

  # Next.middlewares stores instance state.
  # @type Nil
  middlewares: nil

  # Next.initialize provides the net/http/Next standard library operation.
  # @param middlewares Any middlewares value.
  # @param index Int index value.
  # @param handler Any handler value.
  # @return Self the initialized object.
  initialize: middlewares, index, handler ->
    self.middlewares = middlewares
    self.index = index
    self.handler = handler

  # Next.call provides the net/http/Next standard library operation.
  # @param req Any req value.
  # @return Any the resulting value.
  call: req ->
    if self.index >= self.middlewares.len()
      return self.handler(req)
    middleware = self.middlewares[self.index]
    next = Next(self.middlewares, self.index + 1, self.handler)
    middleware(req, next)

  # Next.new provides the net/http/Next standard library operation.
  # @param middlewares Any middlewares value.
  # @param index Int index value.
  # @param handler Any handler value.
  # @return Self the resulting value.
  new: middlewares, index, handler ->
    Next(middlewares, index, handler)

Instance Variables

handler

Next.handler

lib/net/http/next.tya:5

Next.handler stores instance state.

Source
  # Next.handler stores instance state.
  # @type Nil
  handler: nil

index

Next.index

lib/net/http/next.tya:9

Next.index stores instance state.

Source
  # Next.index stores instance state.
  # @type Nil
  index: nil

middlewares

Next.middlewares

lib/net/http/next.tya:13

Next.middlewares stores instance state.

Source
  # Next.middlewares stores instance state.
  # @type Nil
  middlewares: nil

Methods

call

Next.call(req)

lib/net/http/next.tya:28

Next.call provides the net/http/Next standard library operation.

Source
  # Next.call provides the net/http/Next standard library operation.
  # @param req Any req value.
  # @return Any the resulting value.
  call: req ->
    if self.index >= self.middlewares.len()
      return self.handler(req)
    middleware = self.middlewares[self.index]
    next = Next(self.middlewares, self.index + 1, self.handler)
    middleware(req, next)

initialize

Next.initialize(middlewares, index, handler)

lib/net/http/next.tya:20

Next.initialize provides the net/http/Next standard library operation.

Source
  # Next.initialize provides the net/http/Next standard library operation.
  # @param middlewares Any middlewares value.
  # @param index Int index value.
  # @param handler Any handler value.
  # @return Self the initialized object.
  initialize: middlewares, index, handler ->
    self.middlewares = middlewares
    self.index = index
    self.handler = handler

new

Next.new(middlewares, index, handler)

lib/net/http/next.tya:40

Next.new provides the net/http/Next standard library operation.

Source
  # Next.new provides the net/http/Next standard library operation.
  # @param middlewares Any middlewares value.
  # @param index Int index value.
  # @param handler Any handler value.
  # @return Self the resulting value.
  new: middlewares, index, handler ->
    Next(middlewares, index, handler)