format 76
"httpcore" // httpcore
  revision 1
  modified_by 2 "humbert"
  // class settings
  //class diagram settings
  draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
  //use case diagram settings
  package_name_in_tab default show_context default auto_label_position default draw_all_relations default class_drawing_mode default shadow default show_stereotype_properties default
  //sequence diagram settings
  show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default show_stereotype_properties default show_class_context_mode default show_msg_context_mode default
  //collaboration diagram settings
  show_full_operations_definition default show_hierarchical_rank default write_horizontally default class_drawing_mode default drawing_language default package_name_in_tab default show_context default show_msg_context default draw_all_relations default shadow default show_stereotype_properties default
  //object diagram settings
   write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default show_stereotype_properties default
  //component diagram settings
  package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default
  draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties default
  //deployment diagram settings
  package_name_in_tab default show_context default write_horizontally default auto_label_position default draw_all_relations default shadow default
  draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties default
  //state diagram settings
  package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default
  show_activities default region_horizontally default drawing_language default show_stereotype_properties default
  //activity diagram settings
  package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default
  show_infonote default drawing_language default show_stereotype_properties default
  
  classview 128130 "Class view"
    //class diagram settings
    draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
    //collaboration diagram settings
    show_full_operations_definition default show_hierarchical_rank default write_horizontally default class_drawing_mode default drawing_language default package_name_in_tab default show_context default show_msg_context default draw_all_relations default shadow default show_stereotype_properties default
    //object diagram settings
     write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default show_stereotype_properties default
    //sequence diagram settings
    show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default show_stereotype_properties default show_class_context_mode default show_msg_context_mode default
    //state diagram settings
    package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default
    show_activities default region_horizontally default drawing_language default show_stereotype_properties default
    //class settings
    //activity diagram settings
    package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default
    show_infonote default drawing_language default show_stereotype_properties default
    class 128258 "AbstractHttpCore"
      abstract visibility package 
      cpp_decl ""
      java_decl ""
      php_decl ""
      python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
      idl_decl ""
      explicit_switch_type ""
      
      operation 128770 "get_http_factory"
	abstract cpp_virtual public return_type class_ref 128642 // HttpCoreFactory
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      operation 128898 "do_raw_http_request"
	public explicit_return_type "(string, bytes)"
	nparams 1
	  param in name "request" explicit_type "Request"
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${p0}${v0}${)}:
${docstring}${body}
"
	
      end

      operation 129026 "generate_response"
	public return_type class_ref 128514 // HttpResponse
	nparams 1
	  param in name "request" explicit_type "Request"
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${p0}${v0}${)}:
${docstring}${body}
"
	
      end

      operation 129154 "do_get_response"
	public return_type class_ref 128514 // HttpResponse
	nparams 1
	  param in name "url" explicit_type "string"
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${p0}${v0}${)}:
${docstring}${body}
"
	
      end

      operation 129282 "do_post_response"
	public return_type class_ref 128514 // HttpResponse
	nparams 2
	  param in name "url" explicit_type "string"
	  param in name "data" explicit_type "dictionary"
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${p0}${v0}, ${p1}${v1}${)}:
${docstring}${body}
"
	
      end

      operation 129410 "do_get_string"
	public explicit_return_type "string"
	nparams 1
	  param in name "url" explicit_type "string"
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${p0}${v0}${)}:
${docstring}${body}
"
	
      end

      operation 129538 "do_post_string"
	public explicit_return_type "string"
	nparams 2
	  param in name "url" explicit_type "string"
	  param in name "data" explicit_type "dictionary"
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${p0}${v0}, ${p1}${v1}${)}:
${docstring}${body}
"
	
      end

      classrelation 128258 // <dependency>
	relation 128258 -_->
	  a default
	    python "${type}"
	    classrelation_ref 128258 // <dependency>
	  b parent class_ref 128642 // HttpCoreFactory
      end
    end

    class 128386 "HttpCoreException"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl ""
      python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
      idl_decl ""
      explicit_switch_type ""
      
      attribute 128386 "message"
	private explicit_type "string"
	cpp_decl ""
	java_decl ""
	php_decl ""
	python_decl "${comment}${self}${name} = ${value}
"
	idl_decl ""
      end

      attribute 128514 "cause"
	private explicit_type "Exception"
	cpp_decl ""
	java_decl ""
	php_decl ""
	python_decl "${comment}${self}${name} = ${value}
"
	idl_decl ""
      end
    end

    class 128514 "HttpResponse"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl ""
      python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
      idl_decl ""
      explicit_switch_type ""
      
      operation 128002 "get_content_as_string"
	public explicit_return_type "string"
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      operation 128130 "get_header_value"
	public explicit_return_type "string"
	nparams 1
	  param in name "header_name" explicit_type "string"
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${p0}${v0}${)}:
${docstring}${body}
"
	
      end

      attribute 128642 "headers"
	private explicit_type "string"
	cpp_decl ""
	java_decl ""
	php_decl ""
	python_decl "${comment}${self}${name} = ${value}
"
	idl_decl ""
      end

      attribute 128770 "content"
	private explicit_type "bytes"
	cpp_decl ""
	java_decl ""
	php_decl ""
	python_decl "${comment}${self}${name} = ${value}
"
	idl_decl ""
      end

      operation 128258 "get_charset"
	public explicit_return_type "string"
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end
    end

    class 128642 "HttpCoreFactory"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl ""
      python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
      idl_decl ""
      explicit_switch_type ""
      
      operation 128386 "create_get_request"
	public explicit_return_type "Request"
	nparams 1
	  param in name "url" explicit_type "string"
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${p0}${v0}${)}:
${docstring}${body}
"
	
      end

      operation 128514 "create_post_request"
	public explicit_return_type ""
	nparams 1
	  param in name "data" explicit_type "dictionary"
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${p0}${v0}${)}:
${docstring}${body}
"
	
      end

      operation 128642 "create_http_response"
	public explicit_return_type ""
	nparams 2
	  param in name "headers_string" explicit_type "string"
	    defaultvalue "null"
	  param in name "content_bytes" explicit_type "bytes"
	    defaultvalue "null"
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${p0}${v0}, ${p1}${v1}${)}:
${docstring}${body}
"
	
      end

      classrelation 128002 // <dependency>
	relation 128002 -_->
	  a default
	    python "${type}"
	    classrelation_ref 128002 // <dependency>
	  b parent class_ref 128514 // HttpResponse
      end
    end

    class 128770 "HttpCore"
      visibility package stereotype "singleton"
      cpp_decl ""
      java_decl ""
      php_decl ""
      python_2_2 python_decl "class ${name}${inherit}:
${docstring}${members}
"
      idl_decl ""
      explicit_switch_type ""
      
      operation 129666 "get_http_factory"
	public return_type class_ref 128642 // HttpCoreFactory
	nparams 0
	
	
	
	python_def "${@}${static}${abstract}def ${name}${(}${)}:
${docstring}${body}
"
	
      end

      classrelation 128130 // <generalisation>
	relation 128130 ---|>
	  a public
	    python "${type}"
	    classrelation_ref 128130 // <generalisation>
	  b parent class_ref 128258 // AbstractHttpCore
      end
    end
  end
end
