22 lines
		
	
	
		
			620 B
		
	
	
	
		
			Swift
		
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			620 B
		
	
	
	
		
			Swift
		
	
	
	
| import NIOHTTP1
 | |
| import NIO
 | |
| 
 | |
| @_cdecl("LLVMFuzzerTestOneInput")
 | |
| public func test(_ start: UnsafeRawPointer, _ count: Int) -> CInt {
 | |
|     let bytes = UnsafeRawBufferPointer(start: start, count: count)
 | |
|     let channel = EmbeddedChannel()
 | |
|     var buffer = channel.allocator.buffer(capacity: count)
 | |
|     buffer.writeBytes(bytes)
 | |
|     do {
 | |
|         try channel.pipeline.addHandler(ByteToMessageHandler(HTTPRequestDecoder())).wait()
 | |
|         try channel.writeInbound(buffer)
 | |
|         channel.embeddedEventLoop.run()
 | |
|     } catch {
 | |
|     }
 | |
|     do {
 | |
|         try channel.finish(acceptAlreadyClosed: true)
 | |
|     } catch {
 | |
|     }
 | |
|     return 0
 | |
| }
 |