NSURLConnection cierra temprano en GET

Estoy trabajando en un método para centralizar mis conexiones de URL para enviar y recibir datos JSON de un servidor. Funciona con POST, pero no GET. Estoy usando un servidor de Google App Engine y en mi computadora manejará las solicitudes POST y devolverá los resultados correctos (y registrará adecuadamente), pero recibo el siguiente error cuando intento la solicitud con un método GET:

Error Domain=kCFErrorDomainCFNetwork Code=303 "The operation couldn’t be completed. (kCFErrorDomainCFNetwork error 303.)" UserInfo=0xd57e400 {NSErrorFailingURLKey=http://localhost:8080/api/login, NSErrorFailingURLStringKey=http://localhost:8080/api/login}

Además, el servidor de desarrollo GAE muestra un error de "tubería rota", lo que indica que el cliente cerró la conexión antes de que el servidor terminara de enviar todos los datos.

Aquí está el método:

/* Connects to a given URL and sends JSON data via HTTP request and returns the result of the request as a dict */
- (id) sendRequestToModule:(NSString*) module ofType:(NSString*) type function:(NSString*) func params:(NSDictionary*) params {

    NSString *str_params = [NSDictionary dictionaryWithObjectsAndKeys:func, @"function", params, @"params", nil];
    NSString *str_url = [NSString stringWithFormat:@"%@%@", lds_url, module];

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:str_url]];
    NSData *data = [[NSString stringWithFormat:@"action=%@", [str_params JSONString]] dataUsingEncoding:NSUTF8StringEncoding];
    [request setHTTPMethod:type];
    [request setHTTPBody:data];
    [request setValue:[NSString stringWithFormat:@"%d", [data length]] forHTTPHeaderField:@"Content-Length"];
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];

    NSError *error = nil;
    NSURLResponse *response = nil;
    NSData *result = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

    NSLog(@"Error: %@", error);
    NSLog(@"Result: %@", [[NSString alloc] initWithData:result encoding:NSUTF8StringEncoding]);
    return [result objectFromJSONData];
}

Una llamada de ejemplo sería:

NSDictionary *response = [fetcher sendRequestToModule:@"login" ofType:@"GET" function:@"validate_email" params:dict];

De nuevo, esto funciona con un POST pero no con un GET. ¿Cómo puedo arreglar esto?

Respuestas a la pregunta(3)

Su respuesta a la pregunta