private static void WriteErrorHeaders(IntPtr conn, IntPtr ss) { var headerCall = Marshal.GetDelegateForFunctionPointer <Delegates.ServerSupportFunctionDelegate_Headers>(ss); var data = new SendHeaderExInfo { fKeepConn = false, pszHeader = "X-CB: " + typeof(DirectServer).Assembly.CodeBase + "\r\nContent-type: text/html\r\n\r\n", pszStatus = "500 Internal Server Error" }; data.cchStatus = data.pszStatus.Length; data.cchHeader = data.pszHeader.Length; headerCall(conn, Unmanaged.HSE_REQ_SEND_RESPONSE_HEADER_EX, data, IntPtr.Zero, IntPtr.Zero); }
private static void TryWriteHeaders(IntPtr conn, IntPtr ss) { var headerCall = Marshal.GetDelegateForFunctionPointer <ServerSupportFunctionDelegate_Headers>(ss); var data = new SendHeaderExInfo { fKeepConn = false, pszHeader = "X-Fish: I come from the marshall\r\nX-CB: " + typeof(DirectServer).Assembly.CodeBase + "\r\nContent-type: text/html\r\n\r\n", pszStatus = "200 OK-dokey" }; data.cchStatus = data.pszStatus.Length; data.cchHeader = data.pszHeader.Length; headerCall(conn, Win32.HSE_REQ_SEND_RESPONSE_HEADER_EX, data, IntPtr.Zero, IntPtr.Zero); }