2 Copyright (C) 2005 Helge Hess
4 This file is part of SOPE.
6 SOPE is free software; you can redistribute it and/or modify it under
7 the terms of the GNU Lesser General Public License as published by the
8 Free Software Foundation; either version 2, or (at your option) any
11 SOPE is distributed in the hope that it will be useful, but WITHOUT ANY
12 WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
14 License for more details.
16 You should have received a copy of the GNU Lesser General Public
17 License along with SOPE; see the file COPYING. If not, write to the
18 Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
22 #import <NGObjWeb/WODirectAction.h>
24 @interface WEPrototypeScriptAction : WODirectAction
29 @implementation WEPrototypeScriptAction
31 static NSString *etag = nil;
32 static NSString *script =
33 #include "WEPrototypeScript.jsm"
38 etag = [[NSString alloc] initWithFormat:@"\"sope/%i.%i-wep/%03i\"",
39 SOPE_MAJOR_VERSION, SOPE_MINOR_VERSION,
40 WEP_SUBMINOR_VERSION];
48 r = [[self context] response];
49 [r setHeader:@"application/x-javascript" forKey:@"content-type"];
50 [r setHeader:etag forKey:@"etag"];
52 /* check preconditions */
54 s = [[[self context] request] headerForKey:@"if-none-match"];
55 if ([s rangeOfString:etag].length > 0) {
56 /* client already has the proper entity */
57 [r setStatus:304 /* Not Modified */];
63 [r setStatus:200 /* OK */];
64 [r appendContentString:script];
68 @end /* WEPrototypeScriptAction */