MakeContentTypeHeader() static private method

static private MakeContentTypeHeader ( string fileName ) : String
fileName string
return String
Esempio n. 1
0
        public override void SendKnownResponseHeader(int index, string value) {
            if (_headersSent) {
                return;
            }

            switch (index) {
                case HttpWorkerRequest.HeaderServer:
                case HttpWorkerRequest.HeaderDate:
                case HttpWorkerRequest.HeaderConnection:
                    // ignore these
                    return;
                case HttpWorkerRequest.HeaderAcceptRanges:
                    if (value == "bytes") {
                        // use this header to detect when we're processing a static file
                        _specialCaseStaticFileHeaders = true;
                        return;
                    }
                    break;
                case HttpWorkerRequest.HeaderExpires:
                case HttpWorkerRequest.HeaderLastModified:
                    if (_specialCaseStaticFileHeaders) {
                        // NOTE: Ignore these for static files. These are generated
                        //       by the StaticFileHandler, but they shouldn't be.
                        return;
                    }
                    break;
                case HttpWorkerRequest.HeaderContentType:
                    /*
                     * MakeContentTypeHeader handles some mime types, noteably SVG,
                     * that are not automagically handled via SimpleRequest, and returns
                     * null otherwise.
                     */
                    string contentType = Connection.MakeContentTypeHeader(_pathTranslated);
                    value = contentType ?? value;
                	break;
            }

            _responseHeadersBuilder.Append(GetKnownResponseHeaderName(index));
            _responseHeadersBuilder.Append(": ");
            _responseHeadersBuilder.Append(value);
            _responseHeadersBuilder.Append("\r\n");
        }