| OLD | NEW | 
 | (Empty) | 
|   1 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file |  | 
|   2 // for details. All rights reserved. Use of this source code is governed by a |  | 
|   3 // BSD-style license that can be found in the LICENSE file. |  | 
|   4  |  | 
|   5 library lish.utils; |  | 
|   6  |  | 
|   7 import 'dart:convert'; |  | 
|   8  |  | 
|   9 import 'package:scheduled_test/scheduled_test.dart'; |  | 
|  10 import 'package:scheduled_test/scheduled_server.dart'; |  | 
|  11 import 'package:shelf/shelf.dart' as shelf; |  | 
|  12  |  | 
|  13 import '../../lib/src/io.dart'; |  | 
|  14  |  | 
|  15 void handleUploadForm(ScheduledServer server, [Map body]) { |  | 
|  16   server.handle('GET', '/api/packages/versions/new', (request) { |  | 
|  17     return server.url.then((url) { |  | 
|  18       expect(request.headers, |  | 
|  19           containsPair('authorization', 'Bearer access token')); |  | 
|  20  |  | 
|  21       if (body == null) { |  | 
|  22         body = { |  | 
|  23           'url': url.resolve('/upload').toString(), |  | 
|  24           'fields': { |  | 
|  25             'field1': 'value1', |  | 
|  26             'field2': 'value2' |  | 
|  27           } |  | 
|  28         }; |  | 
|  29       } |  | 
|  30  |  | 
|  31       return new shelf.Response.ok(JSON.encode(body), |  | 
|  32           headers: {'content-type': 'application/json'}); |  | 
|  33     }); |  | 
|  34   }); |  | 
|  35 } |  | 
|  36  |  | 
|  37 void handleUpload(ScheduledServer server) { |  | 
|  38   server.handle('POST', '/upload', (request) { |  | 
|  39     // TODO(nweiz): Once a multipart/form-data parser in Dart exists, validate |  | 
|  40     // that the request body is correctly formatted. See issue 6952. |  | 
|  41     return drainStream(request.read()) |  | 
|  42         .then((_) => server.url) |  | 
|  43         .then((url) => new shelf.Response.found(url.resolve('/create'))); |  | 
|  44   }); |  | 
|  45 } |  | 
|  46  |  | 
| OLD | NEW |