# File lib/mongrel.rb, line 272
272:     def read_socket(len)
273:       if !@socket.closed?
274:         data = @socket.read(len)
275:         if !data
276:           raise "Socket read return nil"
277:         elsif data.length != len
278:           raise "Socket read returned insufficient data: #{data.length}"
279:         else
280:           data
281:         end
282:       else
283:         raise "Socket already closed when reading."
284:       end
285:     end