Files
webrtc/examples/internal/signal/http.go
Sean DuBois f46ebf7eff Provide easy example of video without browser
Combine `gstreamer-receive` and `gstreamer-send-offer` so people can
easily see how to transport audio/video without using their browser.

This moves the HTTP endpoint out of `examples/sfu` so it can be used in
multiple examples

Resolves #472
2019-03-04 11:10:07 -08:00

32 lines
564 B
Go

package signal
import (
"flag"
"fmt"
"io/ioutil"
"net/http"
"strconv"
)
// HTTPSDPServer starts a HTTP Server that consumes SDPs
func HTTPSDPServer() chan string {
port := flag.Int("port", 8080, "http server port")
flag.Parse()
sdpChan := make(chan string)
http.HandleFunc("/sdp", func(w http.ResponseWriter, r *http.Request) {
body, _ := ioutil.ReadAll(r.Body)
fmt.Fprintf(w, "done")
sdpChan <- string(body)
})
go func() {
err := http.ListenAndServe(":"+strconv.Itoa(*port), nil)
if err != nil {
panic(err)
}
}()
return sdpChan
}