http io handler