Compare commits
	
		
			2 Commits
		
	
	
		
			dd9fff02a1
			...
			c5100b35bf
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| c5100b35bf | |||
| 9c17248bfa | 
| @ -83,6 +83,7 @@ func handleTelnetConn(bufConn bufferedConn) { | ||||
| 				email = strings.TrimSpace(msg) | ||||
| 				emailParts := strings.Split(email, "@") | ||||
| 				if 2 != len(emailParts) { | ||||
| 					email = "" | ||||
| 					fmt.Fprintf(bufConn, "Email: ") | ||||
| 					continue | ||||
| 				} | ||||
|  | ||||
| @ -10,7 +10,6 @@ import ( | ||||
| 	"encoding/base64" | ||||
| 	"flag" | ||||
| 	"fmt" | ||||
| 	"io" | ||||
| 	"io/ioutil" | ||||
| 	"net" | ||||
| 	"net/http" | ||||
| @ -42,13 +41,13 @@ type ConfMailer struct { | ||||
| // So we can peek at net.Conn, which we can't do natively | ||||
| // https://stackoverflow.com/questions/51472020/how-to-get-the-size-of-available-tcp-data | ||||
| type bufferedConn struct { | ||||
| 	r    *bufio.Reader | ||||
| 	rout io.Reader // See https://github.com/polvi/sni/blob/master/sni.go#L135 | ||||
| 	r *bufio.Reader | ||||
| 	//rout *io.Reader // See https://github.com/polvi/sni/blob/master/sni.go#L135 | ||||
| 	net.Conn | ||||
| } | ||||
| 
 | ||||
| func newBufferedConn(c net.Conn) bufferedConn { | ||||
| 	return bufferedConn{bufio.NewReader(c), nil, c} | ||||
| 	return bufferedConn{bufio.NewReader(c), c} | ||||
| } | ||||
| 
 | ||||
| func (b bufferedConn) Peek(n int) ([]byte, error) { | ||||
| @ -60,9 +59,11 @@ func (b bufferedConn) Buffered() int { | ||||
| } | ||||
| 
 | ||||
| func (b bufferedConn) Read(p []byte) (int, error) { | ||||
| 	if b.rout != nil { | ||||
| 		return b.rout.Read(p) | ||||
| 	} | ||||
| 	/* | ||||
| 		if b.rout != nil { | ||||
| 			return b.rout.Read(p) | ||||
| 		} | ||||
| 	*/ | ||||
| 	return b.r.Read(p) | ||||
| } | ||||
| 
 | ||||
| @ -166,6 +167,9 @@ func muxTcp(conn bufferedConn) { | ||||
| 	} | ||||
| 
 | ||||
| 	if "" == protocol { | ||||
| 		// Throw away the first bytes | ||||
| 		b := make([]byte, 4096) | ||||
| 		conn.Read(b) | ||||
| 		fmt.Fprintf(conn, "\n\nWelcome to Sample Chat! You're not an HTTP client, assuming Telnet.\nYou must authenticate via email to participate\n\nEmail: ") | ||||
| 		wantsServerHello <- conn | ||||
| 		return | ||||
|  | ||||
| @ -10,7 +10,7 @@ | ||||
|     <li> | ||||
|     <h3>POST /api/sessions | ||||
|     <br> | ||||
|     <code>{"sub":"<strong><em>jon@example.com</em></strong>"}</code> | ||||
|     <code>{"sub":"<strong><em><email></em></strong>"}</code> | ||||
|     </h3> | ||||
|     <pre><code># Ask for an auth code (swap sub) | ||||
| 
 | ||||
| @ -21,9 +21,9 @@ curl -X POST http://localhost:4080/api/sessions \ | ||||
|     </li> | ||||
| 
 | ||||
|     <li> | ||||
|     <h3>POST /api/sessions/<strong><em>id</em></strong> | ||||
|     <h3>POST /api/sessions/<strong><em><id></em></strong> | ||||
|     <br> | ||||
|     <code>{"otp":"<strong><em>auth-code</em></strong>"}</code> | ||||
|     <code>{"otp":"<strong><em><auth-code></em></strong>"}</code> | ||||
|     </h3> | ||||
|     <pre><code># Validate auth code (swap session id, sub, and otp) | ||||
| 
 | ||||
| @ -39,8 +39,8 @@ curl -X POST http://localhost:4080/api/sessions/<strong><em>xyz</em></strong> \ | ||||
|     <li> | ||||
|     <h3>POST /api/rooms/general | ||||
|     <br> | ||||
|     <code>Authorization: Bearer <strong><em>api-token</em></strong> | ||||
|     <br>{"message":"<strong><em>Hello, World!</em></strong>"}</code> | ||||
|     <code>Authorization: Bearer <strong><em><api-token></em></strong> | ||||
|     <br>{"message":"<strong><em><msg></em></strong>"}</code> | ||||
|     </h3> | ||||
|     <pre><code># Post a message (swap api-token) | ||||
| 
 | ||||
| @ -54,8 +54,7 @@ curl -X POST http://localhost:4080/api/rooms/general \ | ||||
|     <li> | ||||
|     <h3>GET /api/rooms/general | ||||
|     <br> | ||||
|     <code>Authorization: Bearer <strong><em>api-token</em></strong> | ||||
|     <br>{"message":"<strong><em>Hello, World!</em></strong>"}</code> | ||||
|     <code>Authorization: Bearer <strong><em><api-token></em></strong></code> | ||||
|     </h3> | ||||
|     <pre><code># Get a room's messages (swap api-token, since unix-epoch) | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user