remove closures from code
[nit.git] / lib / curl / curl.nit
index cfa1b15..b00bb70 100644 (file)
@@ -338,7 +338,7 @@ interface CurlCallbacks
 end
 
 # Callbacks attributes
-protected abstract class CurlCallbacksRegisterIntern
+abstract class CurlCallbacksRegisterIntern
   var delegate: nullable CurlCallbacks writable = null
 end
 
@@ -361,7 +361,7 @@ class CurlResponseFailed
 end
 
 # Success Abstract Response Success Class
-protected abstract class CurlResponseSuccessIntern
+abstract class CurlResponseSuccessIntern
        super CurlCallbacks
        super CurlResponse
 
@@ -429,15 +429,7 @@ class HeaderMap
                return res
        end
 
-       fun iterate !each(k, v: String)
-       do
-               var i = arr.iterator
-               while i.is_ok do
-                       var item = i.item
-                       each(item.first, item.second)
-                       i.next
-               end
-       end
+       fun iterator: MapIterator[String, String] do return new HeaderMapIterator(self)
 
        # Convert Self to a single string used to post http fields
        fun to_url_encoded(curl: CCurl): String
@@ -471,3 +463,15 @@ class HeaderMap
        fun length: Int do return arr.length
        fun is_empty: Bool do return arr.is_empty
 end
+
+class HeaderMapIterator
+       super MapIterator[String, String]
+
+       private var iterator: Iterator[Couple[String, String]]
+       init(map: HeaderMap) do self.iterator = map.arr.iterator
+
+       redef fun is_ok do return self.iterator.is_ok
+       redef fun next do self.iterator.next
+       redef fun item do return self.iterator.item.second
+       redef fun key do return self.iterator.item.first
+end