-
Notifications
You must be signed in to change notification settings - Fork 0
/
http.m
93 lines (74 loc) · 2.11 KB
/
http.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
http ; serverLink http library functions
; Copyright (C) 2008 Etienne Cherdlu <[email protected]>
;
; This program is free software: you can redistribute it and/or modify
; it under the terms of the GNU Affero General Public License as
; published by the Free Software Foundation, either version 3 of the
; License, or (at your option) any later version.
;
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU Affero General Public License for more details.
;
; You should have received a copy of the GNU Affero General Public License
; along with this program. If not, see <http://www.gnu.org/licenses/>.
q
word(fileName) ; Public ; Word document (as attachment)
;
w "Status: 200 OK",!
w "Content-Type: application/msword; name="_fileName,!
w "Content-Disposition: attachment; filename="_fileName,!
w !
q
excel(fileName) ; Public ; In-line excel spreadsheet
;
w "Status: 200 OK",!
w "Content-Type: application/vnd.ms-excel; name="_fileName,!
w "Content-Disposition: inline; filename="_fileName,!
w !
q
header(type) ; Public ; Print simple/minimal http header
;
w "Status: 200 OK",!
w "Content-Type: ",type,!
i $d(%session) d cookie^session
w !
q
gone ; Public ; Print 410 gone header
;
w "Status: 410 Gone",!
w !
q
notFound ; Public ; Print 404 Not Found header
;
w "Status: 404 Not Found",!
w !
q
xml(filename) ; Public ; Generate xml attachment header
;
w "Status: 200 OK",!
w "Content-Type: text/xml",!
w "Content-Disposition: attachment; filename=",filename,!
w !
q
error ; Public ; Server-side error
; NB send a content-type record because IE 6.0 may otherwise try to download the content (erroneously).
;
w "Status: 500 Internal Server Error",!
w "Content-Type: text/html",!
w !
q
error409(message) ; Public ; Generate a 409 error
;
w "Status: 409 Conflict",!
w "Content-Type: text/plain",!
w "Error: ",message,!
w !
;
q
redirect(location) ; Public ; Server-side redirect
;
w "Location: ",location,!
w !
q