scala-news-reader

rss/atom news reader in scala

git clone https://9o.is/git/scala-news-reader.git

S3.scala

(749B)


      1 package com.joereader.lib.aws
      2 
      3 import dispatch._
      4 import concurrent.ExecutionContext.Implicits.global
      5 import AmazonS3._
      6 
      7 /* Amazon S3 API */
      8 class S3(access_key: String, secret_key: String, bucket: String) {
      9 
     10   /* Creates a file that can be viewed by the public. */
     11   def createFile(fn: String, data: Array[Byte], contentType: String) =
     12     Http.configure(_ setCompressionEnabled true)(Bucket(bucket).PUT.setBody(data) / fn <:<
     13       Map("content-type" -> contentType, "x-amz-acl" -> "public-read")
     14       <@(access_key, secret_key))
     15 
     16   def deleteFile(fn: String) =
     17     Http.configure(_ setCompressionEnabled true)(Bucket(bucket).DELETE /
     18       fn <@(access_key, secret_key))
     19 
     20   def fileUrl(fn: String) = "http://" + Root + "/" + bucket + "/" + fn
     21 
     22 }