middleware:add support