Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(51)

Side by Side Diff: sdk/lib/io/mime_multipart_parser.dart

Issue 12817003: Change getRange to sublist. Make getRange deprecated. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Addressed review comments Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 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. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 part of dart.io; 5 part of dart.io;
6 6
7 /** 7 /**
8 * Parser for MIME multipart types of data as described in RFC 2046 8 * Parser for MIME multipart types of data as described in RFC 2046
9 * section 5.1.1. The data to parse is supplied through the [:update:] 9 * section 5.1.1. The data to parse is supplied through the [:update:]
10 * method. As the data is parsed the following callbacks are called: 10 * method. As the data is parsed the following callbacks are called:
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 // current index. As the data can be artificially prefixed with a 72 // current index. As the data can be artificially prefixed with a
73 // prefix of the boundary both the content start index and index 73 // prefix of the boundary both the content start index and index
74 // can be negative. 74 // can be negative.
75 void reportData() { 75 void reportData() {
76 if (partDataReceived == null) return; 76 if (partDataReceived == null) return;
77 77
78 if (contentStartIndex < 0) { 78 if (contentStartIndex < 0) {
79 var contentLength = boundaryPrefix + index - _boundaryIndex; 79 var contentLength = boundaryPrefix + index - _boundaryIndex;
80 if (contentLength <= boundaryPrefix) { 80 if (contentLength <= boundaryPrefix) {
81 partDataReceived( 81 partDataReceived(
82 _boundary.getRange(0, contentLength)); 82 _boundary.sublist(0, contentLength));
83 } else { 83 } else {
84 partDataReceived( 84 partDataReceived(
85 _boundary.getRange(0, boundaryPrefix)); 85 _boundary.sublist(0, boundaryPrefix));
86 partDataReceived( 86 partDataReceived(
87 buffer.getRange(0, contentLength - boundaryPrefix)); 87 buffer.sublist(0, contentLength - boundaryPrefix));
88 } 88 }
89 } else { 89 } else {
90 var contentLength = index - contentStartIndex - _boundaryIndex; 90 var contentEndIndex = index - _boundaryIndex;
91 partDataReceived( 91 partDataReceived(
92 buffer.getRange(contentStartIndex, contentLength)); 92 buffer.sublist(contentStartIndex, contentEndIndex));
93 } 93 }
94 } 94 }
95 95
96 // Prepare for processing the buffer. 96 // Prepare for processing the buffer.
97 index = offset; 97 index = offset;
98 int lastIndex = offset + count; 98 int lastIndex = offset + count;
99 if (_state == _CONTENT && _boundaryIndex == 0) { 99 if (_state == _CONTENT && _boundaryIndex == 0) {
100 contentStartIndex = 0; 100 contentStartIndex = 0;
101 } else { 101 } else {
102 contentStartIndex = null; 102 contentStartIndex = null;
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 Function partDataReceived; 324 Function partDataReceived;
325 Function partEnd; 325 Function partEnd;
326 } 326 }
327 327
328 328
329 class MimeParserException implements Exception { 329 class MimeParserException implements Exception {
330 const MimeParserException([String this.message = ""]); 330 const MimeParserException([String this.message = ""]);
331 String toString() => "MimeParserException: $message"; 331 String toString() => "MimeParserException: $message";
332 final String message; 332 final String message;
333 } 333 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698