2012-02-07 03:55:05 -08:00
import httplib
import urllib
import json
from connection import *
from auth import *
from errors import *
2012-02-07 19:15:28 -08:00
from models import *
2012-02-07 03:55:05 -08:00
class API ( object ) :
def __init__ ( self , host = ' api.fastly.com ' , secure = True , port = None , root = ' ' ,
2012-02-07 19:15:28 -08:00
timeout = 5.0 ) :
2012-02-07 03:55:05 -08:00
self . conn = Connection ( host , secure , port , root , timeout )
def authenticate_by_key ( self , key ) :
self . conn . authenticator = KeyAuthenticator ( key )
def authenticate_by_password ( self , login , password ) :
self . conn . authenticator = SessionAuthenticator ( self . conn , login , password )
def deauthenticate ( self ) :
self . conn . authenticator = None
2012-02-07 19:15:28 -08:00
def service ( self , id ) :
return Service . find ( self . conn , service_id = id )
def version ( self , service_id , version ) :
return Version . find ( self . conn , service_id = service_id , number = version )
def domain ( self , service_id , version , name ) :
return Domain . find ( self . conn , service_id = service_id , version = version , name = name )
def backend ( self , service_id , version , name ) :
return Backend . find ( self . conn , service_id = service_id , version = version , name = name )
2012-02-07 03:55:05 -08:00
def purge_url ( self , host , path ) :
2012-02-07 19:15:28 -08:00
resp , data = self . conn . request ( ' PURGE ' , path , headers = { ' Host ' : host } )
2012-02-07 03:55:05 -08:00
return resp . status == 200