in openwhisk/actionProxy.go [229:259]
func (ap *ActionProxy) ExtractAndCompileIO(r io.Reader, w io.Writer, main string, env string) {
// read the std input
in, err := io.ReadAll(r)
if err != nil {
log.Fatal(err)
}
envMap := make(map[string]interface{})
if env != "" {
json.Unmarshal([]byte(env), &envMap)
}
ap.SetEnv(envMap)
// extract and compile it
file, err := ap.ExtractAndCompile(&in, main)
if err != nil {
log.Fatal(err)
}
// zip the directory containing the file and write output
zip, err := Zip(filepath.Dir(file))
if err != nil {
log.Fatal(err)
}
_, err = w.Write(zip)
if err != nil {
log.Fatal(err)
}
}