summaryrefslogtreecommitdiffhomepage
path: root/src/nginext/response.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/nginext/response.go')
-rw-r--r--src/nginext/response.go69
1 files changed, 0 insertions, 69 deletions
diff --git a/src/nginext/response.go b/src/nginext/response.go
deleted file mode 100644
index dc864f6e..00000000
--- a/src/nginext/response.go
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (C) Max Romanov
- * Copyright (C) NGINX, Inc.
- */
-
-package nginext
-
-/*
-#include "nxt_go_lib.h"
-*/
-import "C"
-
-import (
- "fmt"
- "net/http"
- "os"
-)
-
-type response struct {
- header http.Header
- headerSent bool
- req *http.Request
- c_req C.nxt_go_request_t
-}
-
-func new_response(c_req C.nxt_go_request_t, req *http.Request) *response {
- resp := &response{
- header: http.Header{},
- req: req,
- c_req: c_req,
- }
-
- return resp
-}
-
-func (r *response) Header() http.Header {
- return r.header
-}
-
-func (r *response) Write(p []byte) (n int, err error) {
- if !r.headerSent {
- r.WriteHeader(http.StatusOK)
- }
-
- l := C.size_t(len(p))
- b := getCBytes(p)
- res := C.nxt_go_response_write(r.c_req, b, l)
- C.free(b)
- return int(res), nil
-}
-
-func (r *response) WriteHeader(code int) {
- if r.headerSent {
- // Note: explicitly using Stderr, as Stdout is our HTTP output.
- fmt.Fprintf(os.Stderr, "CGI attempted to write header twice")
- return
- }
- r.headerSent = true
- fmt.Fprintf(r, "%s %d %s\r\n", r.req.Proto, code, http.StatusText(code))
-
- // Set a default Content-Type
- if _, hasType := r.header["Content-Type"]; !hasType {
- r.header.Add("Content-Type", "text/html; charset=utf-8")
- }
-
- r.header.Write(r)
-
- r.Write([]byte("\r\n"))
-}