from tyk.decorators import *
from gateway import TykGateway as tyk

@CustomKeyCheck
def MyKeyCheck(request, session, metadata, spec):
    print("Running MyKeyCheck?")

    print("request:", request)
    print("session:", session)
    print("spec:", spec)

    valid_token = 'aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d'
    request_token = request.get_header('Authorization')

    if request_token == valid_token:
        print("Token is OK")
        session.rate = 1000
        session.per = 1
        metadata['token'] = "mytoken"
    else:
        print("Token is WRONG")
        request.return_overrides = { 'response_code': 401, 'response_error': 'Not authorized (by the Python middleware)' }

    return request, session, metadata

from tyk.decorators import *
from gateway import TykGateway as tyk

@CustomKeyCheck
def MyKeyCheck(request, session, metadata, spec):
    print("Running MyKeyCheck?")

    print("request:", request)
    print("session:", session)
    print("spec:", spec)

    valid_token = 'aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d'
    request_token = request.get_header('Authorization')

    print("(python) request_token =", request_token)

    if request_token == valid_token:
        print("Token is OK")
        session.rate = 1000.0
        session.per = 1.0
        metadata['token'] = "mytoken"
    else:
        print("Token is WRONG")
        request.return_overrides = { 'response_code': 401, 'response_error': 'Not authorized (by the Python middleware)' }

    return request, session, metadata

Use float in session fields
Use float in session fields

  from tyk.decorators import *
  from gateway import TykGateway as tyk
  
  @CustomKeyCheck
  def MyKeyCheck(request, session, metadata, spec):
      print("Running MyKeyCheck?")
  
      print("request:", request)
      print("session:", session)
      print("spec:", spec)
  
      valid_token = 'aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d'
      request_token = request.get_header('Authorization')
  
+     print("(python) request_token =", request_token)
+ 
      if request_token == valid_token:
          print("Token is OK")
-         session.rate = 1000
+         session.rate = 1000.0
-         session.per = 1
+         session.per = 1.0
          metadata['token'] = "mytoken"
      else:
          print("Token is WRONG")
          request.return_overrides = { 'response_code': 401, 'response_error': 'Not authorized (by the Python middleware)' }
  
      return request, session, metadata
  
Use float in session fields
## Code Before:
from tyk.decorators import *
from gateway import TykGateway as tyk

@CustomKeyCheck
def MyKeyCheck(request, session, metadata, spec):
    print("Running MyKeyCheck?")

    print("request:", request)
    print("session:", session)
    print("spec:", spec)

    valid_token = 'aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d'
    request_token = request.get_header('Authorization')

    if request_token == valid_token:
        print("Token is OK")
        session.rate = 1000
        session.per = 1
        metadata['token'] = "mytoken"
    else:
        print("Token is WRONG")
        request.return_overrides = { 'response_code': 401, 'response_error': 'Not authorized (by the Python middleware)' }

    return request, session, metadata

## Instruction:
Use float in session fields
## Code After:
from tyk.decorators import *
from gateway import TykGateway as tyk

@CustomKeyCheck
def MyKeyCheck(request, session, metadata, spec):
    print("Running MyKeyCheck?")

    print("request:", request)
    print("session:", session)
    print("spec:", spec)

    valid_token = 'aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d'
    request_token = request.get_header('Authorization')

    print("(python) request_token =", request_token)

    if request_token == valid_token:
        print("Token is OK")
        session.rate = 1000.0
        session.per = 1.0
        metadata['token'] = "mytoken"
    else:
        print("Token is WRONG")
        request.return_overrides = { 'response_code': 401, 'response_error': 'Not authorized (by the Python middleware)' }

    return request, session, metadata
