1/* WOResponse+SOGo.m - this file is part of SOGo 2 * 3 * Copyright (C) 2009-2014 Inverse inc. 4 * 5 * This file is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 2, or (at your option) 8 * any later version. 9 * 10 * This file is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; see the file COPYING. If not, write to 17 * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18 * Boston, MA 02111-1307, USA. 19 */ 20 21#import <Foundation/NSString.h> 22 23#import <SaxObjC/XMLNamespaces.h> 24 25#import "NSDictionary+DAV.h" 26#import "NSObject+DAV.h" 27 28#import "WOResponse+SOGo.h" 29 30@implementation WOResponse (SOGoSOPEUtilities) 31 32- (void) prepareDAVResponse 33{ 34 [self setStatus: 207]; 35 [self setContentEncoding: NSUTF8StringEncoding]; 36 [self setHeader: @"text/xml; charset=\"utf-8\"" forKey: @"content-type"]; 37 [self setHeader: @"no-cache" forKey: @"pragma"]; 38 [self setHeader: @"no-cache" forKey: @"cache-control"]; 39 [self appendContentString:@"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"]; 40} 41 42- (void) appendDAVError: (NSDictionary *) errorCondition 43{ 44 NSDictionary *error; 45 46 error = davElementWithContent (@"error", XMLNS_WEBDAV, errorCondition); 47 48 [self setStatus: 403]; 49 [self appendContentString: [error asWebDavStringWithNamespaces: nil]]; 50} 51 52@end 53