Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SuperStrict
- Framework BRL.Socket
- Import BRL.StandardIO
- Import BRL.SocketStream
- Import BRL.PNGLoader
- Import BRL.Retro
- Import BRL.System
- Local connect:TSocket=CreateTCPSocket()
- BindSocket connect,7889
- SocketListen(connect)
- Local buffer:Byte Ptr
- Local count:Int
- While True
- Local time:String=CurrentTime()
- If time[..2]="00" End
- Local browser:TSocket=SocketAccept(connect)
- If browser<>Null
- GetSite(browser)
- CloseSocket(browser)
- browser=Null
- EndIf
- Wend
- Function GetSite(socket:TSocket)
- Print HostName(SocketRemoteIP(socket))
- Local stream:TStream=CreateSocketStream(socket)
- Delay 500
- If SocketReadAvail(socket)=0 Return
- Local get_site:String=ReadString(stream,SocketReadAvail(socket))
- 'Lese aus get_site die gewünschte Internetsite
- Local leer_count:Int=0
- For Local i:Int=1 To Len(get_site)
- If get_site[i]=13
- get_site=get_site[..i]
- leer_count=1
- Exit
- EndIf
- Next
- If leer_count=0 get_site="GET /main.html "
- leer_count=0
- Print get_site
- For Local i:Int=1 To Len(get_site)
- If get_site[i-1]=32 leer_count=leer_count+1
- Next
- If leer_count<2 get_site="GET /main.html "
- For Local i:Int=1 To Len(get_site)
- If get_site[i-1]=32
- get_site=get_Site[i..]
- Exit
- EndIf
- Next
- For Local i:Int=1 To Len(get_site)
- If get_site[i-1]=32
- get_site=get_site[..(i-1)]
- Exit
- EndIf
- Next
- If get_site="/" get_site="/main.html"
- Print get_site
- Local real_site:String
- Select get_site
- Case "/main.html"
- real_site="main.html"
- Case "/picture.png"
- real_site="fliege.png"
- Default
- real_site="error.html"
- End Select
- stream.WriteLine "HTTP OK 200"
- stream.WriteLine ""
- Local site:TStream=ReadStream(real_site)
- If site=Null
- stream.WriteLine "--site-not-found--"
- Else
- If real_site[(Len(real_site)-4)..]="html"
- While Eof(site)=0
- stream.WriteLine Replace(Replace(Replace(ReadLine(site),"%REQUPAG%",get_site),"%REQUIP%",DottedIP(SocketRemoteIP(socket))),"%REQUTIME%",CurrentTime())
- Wend
- Else
- While Eof(site)=0
- stream.WriteByte ReadByte(site)
- Wend
- EndIf
- CloseStream site
- EndIf
- End Function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement