Page created:
Jun 17, 2009 (? ago)
Last modified ? ago
To main page | Opera Unite HowTo's

Request Hierarchy (like php_info)


This is what you have available when request is done:
<form method="post"><input name="first_post_item" value="**value*"> ...
to
http://[device].[login].operaunite.com/[service_path]/delete?get_param=get_value
(Obviously you don't need to send both GET and POST).

GET PARAMS: get_param=get_value
POST PARAMS: first_post_item=value
function start_page(r) 
Warning: this just shows hierarchy, so some things should be written in brackets, like: "r.connection.request.queryItems.get_param.0", but in fact you should write that as: "r.connection.request.queryItems.get_param[0]". I think I fixed those, but keep in mind.

unite_info - function that generates this.

Full Hierarchy

r.bubbles = "false"
r.cancelBubble = "false"
r.cancelable = "false"

r.connection:
r.connection.closed = "false"
r.connection.id = "0"
r.connection.isLocal = "true"
r.connection.isOwner = "false"
r.connection.isProxied = "false"

r.connection.request:
r.connection.request.body = "first_post_item=value"

r.connection.request.bodyItems:

r.connection.request.bodyItems.first_post_item:
r.connection.request.bodyItems.first_post_item[0] = "value"
r.connection.request.bodyItems.first_post_item.length = "1"
r.connection.request.bodyItems.first_post_item.item(...) // function
r.connection.request.bodyItems.first_post_item.contains(...) // function

r.connection.request.connection:
r.connection.request.files = ""

r.connection.request.headers:

r.connection.request.headers.User-Agent:
r.connection.request.headers.User-Agent[0] = "Opera/9.80 (Windows NT 5.1; U; en) Presto/2.2.15 Version/10.00"
r.connection.request.headers.User-Agent.length = "1"
r.connection.request.headers.User-Agent.item(...) // function
r.connection.request.headers.User-Agent.contains(...) // function

r.connection.request.headers.Host:
r.connection.request.headers.Host[0] = "[device_name].[opera_user_name].operaunite.com"
r.connection.request.headers.Host.length = "1"
r.connection.request.headers.Host.item(...) // function
r.connection.request.headers.Host.contains(...) // function

r.connection.request.headers.Accept:
r.connection.request.headers.Accept**[0] = "text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1"**
r.connection.request.headers.Accept.length = "1"
r.connection.request.headers.Accept.item(...) // function
r.connection.request.headers.Accept.contains(...) // function

r.connection.request.headers.Accept-Language:
r.connection.request.headers.Accept-Language[0] = "ru-RU,ru;q=0.9,en;q=0.8"
r.connection.request.headers.Accept-Language.length = "1"
r.connection.request.headers.Accept-Language.item(...) // function
r.connection.request.headers.Accept-Language.contains(...) // function

r.connection.request.headers.Accept-Charset:
r.connection.request.headers.Accept-Charset**[0] = "iso-8859-1, utf-8, utf-16, *;q=0.1"**
r.connection.request.headers.Accept-Charset.length = "1"
r.connection.request.headers.Accept-Charset.item(...) // function
r.connection.request.headers.Accept-Charset.contains(...) // function

r.connection.request.headers.Accept-Encoding:
r.connection.request.headers.Accept-Encoding**[0] = "deflate, gzip, x-gzip, identity, *;q=0"**
r.connection.request.headers.Accept-Encoding.length = "1"
r.connection.request.headers.Accept-Encoding.item(...) // function
r.connection.request.headers.Accept-Encoding.contains(...) // function

r.connection.request.headers.Referer:
r.connection.request.headers.Referer[0] = "http://[device_name].[opera_user_name].operaunite.com/[service_path]/delete?get_param=get_value"
r.connection.request.headers.Referer.length = "1"
r.connection.request.headers.Referer.item(...) // function
r.connection.request.headers.Referer.contains(...) // function

r.connection.request.headers.Cookie:
r.connection.request.headers.Cookie[0] = "unite-session-id=5e0a6f653724ac4c9988304a"
r.connection.request.headers.Cookie.length = "1"
r.connection.request.headers.Cookie.item(...) // function
r.connection.request.headers.Cookie.contains(...) // function

r.connection.request.headers.Cookie2:
r.connection.request.headers.Cookie2[0] = "$Version=1"
r.connection.request.headers.Cookie2.length = "1"
r.connection.request.headers.Cookie2.item(...) // function
r.connection.request.headers.Cookie2.contains(...) // function

r.connection.request.headers.Cache-Control:
r.connection.request.headers.Cache-Control[0] = "no-cache"
r.connection.request.headers.Cache-Control.length = "1"
r.connection.request.headers.Cache-Control.item(...) // function
r.connection.request.headers.Cache-Control.contains(...) // function

r.connection.request.headers.Connection:
r.connection.request.headers.Connection[0] = "Keep-Alive, TE"
r.connection.request.headers.Connection.length = "1"
r.connection.request.headers.Connection.item(...) // function
r.connection.request.headers.Connection.contains(...) // function

r.connection.request.headers.TE:
r.connection.request.headers.TE[0] = "deflate, gzip, chunked, identity, trailers"
r.connection.request.headers.TE.length = "1"
r.connection.request.headers.TE.item(...) // function
r.connection.request.headers.TE.contains(...) // function

r.connection.request.headers.Content-Length:
r.connection.request.headers.Content-Length[0] = "21"
r.connection.request.headers.Content-Length.length = "1"
r.connection.request.headers.Content-Length.item(...) // function
r.connection.request.headers.Content-Length.contains(...) // function

r.connection.request.headers.Content-Type:
r.connection.request.headers.Content-Type[0] = "application/x-www-form-urlencoded"
r.connection.request.headers.Content-Type.length = "1"
r.connection.request.headers.Content-Type.item(...) // function
r.connection.request.headers.Content-Type.contains(...) // function
r.connection.request.host = "Host"
r.connection.request.ip = "127.0.0.1"
r.connection.request.method = "POST"
r.connection.request.protocol = [null??]

r.connection.request.queryItems:

r.connection.request.queryItems.get_param:
r.connection.request.queryItems.get_param[0] = "get_value"
r.connection.request.queryItems.get_param.length = "1"
r.connection.request.queryItems.get_param.item(...) // function
r.connection.request.queryItems.get_param.contains(...) // function

r.connection.request.session:
r.connection.request.session.id = "5e0a6f653724ac4c9988304a"
r.connection.request.session.type = "none"
r.connection.request.session.userName = ""
r.connection.request.session.logout(...) // function
r.connection.request.uri = "/[service_path]/delete?get_param=get_value"
r.connection.request.getRequestHeader(...) // function
r.connection.request.getItem(...) // function

r.connection.response:
r.connection.response.chunked = "true"
r.connection.response.closed = "false"

r.connection.response.connection:
r.connection.response.connection.closed = "false"
r.connection.response.connection.id = "0"
r.connection.response.connection.isLocal = "true"
r.connection.response.connection.isOwner = "false"
r.connection.response.connection.isProxied = "false"

r.connection.response.connection.request:
r.connection.response.connection.request.body = "first_post_item=value"

r.connection.response.connection.request.bodyItems:

r.connection.response.connection.request.connection:
r.connection.response.connection.request.files = ""

r.connection.response.connection.request.headers:
r.connection.response.connection.request.host = "Host"
r.connection.response.connection.request.ip = "127.0.0.1"
r.connection.response.connection.request.method = "POST"
r.connection.response.connection.request.protocol = [null??]

r.connection.response.connection.request.queryItems:

r.connection.response.connection.request.session:
r.connection.response.connection.request.uri = "/[service_path]/delete?get_param=get_value"
r.connection.response.connection.request.getRequestHeader(...) // function
r.connection.response.connection.request.getItem(...) // function

r.connection.response.connection.response:
r.connection.response.connection.response.chunked = "true"
r.connection.response.connection.response.closed = "false"

r.connection.response.connection.response.connection:
r.connection.response.connection.response.implicitFlush = "false"
r.connection.response.connection.response.setResponseHeader(...) // function
r.connection.response.connection.response.setStatusCode(...) // function
r.connection.response.connection.response.setProtocolString(...) // function
r.connection.response.connection.response.write(...) // function
r.connection.response.connection.response.writeLine(...) // function
r.connection.response.connection.response.writeBytes(...) // function
r.connection.response.connection.response.writeFile(...) // function
r.connection.response.connection.response.writeImage(...) // function
r.connection.response.connection.response.close(...) // function
r.connection.response.connection.response.closeAndRedispatch(...) // function
r.connection.response.connection.response.flush(...) // function
r.connection.response.implicitFlush = "false"
r.connection.response.setResponseHeader(...) // function
r.connection.response.setStatusCode(...) // function
r.connection.response.setProtocolString(...) // function
r.connection.response.write(...) // function
r.connection.response.writeLine(...) // function
r.connection.response.writeBytes(...) // function
r.connection.response.writeFile(...) // function
r.connection.response.writeImage(...) // function
r.connection.response.close(...) // function
r.connection.response.closeAndRedispatch(...) // function
r.connection.response.flush(...) // function

r.currentTarget:
r.currentTarget.shareFile(...) // function
r.currentTarget.unshareFile(...) // function
r.currentTarget.getContentType(...) // function
r.currentTarget.setDefaultHeader(...) // function
r.currentTarget.addEventListener(...) // function
r.currentTarget.removeEventListener(...) // function
r.currentTarget.dispatchEvent(...) // function
r.currentTarget.currentServiceName = "Test1"
r.currentTarget.currentServicePath = "/[service_path]/"
r.currentTarget.deviceName = "[device_name]"
r.currentTarget.hostName = "[device_name].[opera_user_name].operaunite.com"
r.currentTarget.originURL = ""
r.currentTarget.port = "8840"
r.currentTarget.proxyName = "operaunite.com"
r.currentTarget.publicIP = [null??]
r.currentTarget.publicPort = [null??]

r.currentTarget.services:
r.currentTarget.services.length = "2"
r.currentTarget.userName = "[opera_user_name]"
r.eventPhase = "2"
r.id = "0"

r.srcElement:
r.srcElement.shareFile(...) // function
r.srcElement.unshareFile(...) // function
r.srcElement.getContentType(...) // function
r.srcElement.setDefaultHeader(...) // function
r.srcElement.addEventListener(...) // function
r.srcElement.removeEventListener(...) // function
r.srcElement.dispatchEvent(...) // function
r.srcElement.currentServiceName = "Test1"
r.srcElement.currentServicePath = "/[service_path]/"
r.srcElement.deviceName = "[device_name]"
r.srcElement.hostName = "[device_name].[opera_user_name].operaunite.com"
r.srcElement.originURL = ""
r.srcElement.port = "8840"
r.srcElement.proxyName = "operaunite.com"
r.srcElement.publicIP = [null??]
r.srcElement.publicPort = [null??]

r.srcElement.services:
r.srcElement.services.length = "2"
r.srcElement.userName = "[opera_user_name]"

r.target:
r.target.shareFile(...) // function
r.target.unshareFile(...) // function
r.target.getContentType(...) // function
r.target.setDefaultHeader(...) // function
r.target.addEventListener(...) // function
r.target.removeEventListener(...) // function
r.target.dispatchEvent(...) // function
r.target.currentServiceName = "Test1"
r.target.currentServicePath = "/[service_path]/"
r.target.deviceName = "[device_name]"
r.target.hostName = "[device_name].[opera_user_name].operaunite.com"
r.target.originURL = ""
r.target.port = "8840"
r.target.proxyName = "operaunite.com"
r.target.publicIP = [null??]
r.target.publicPort = [null??]

r.target.services:
r.target.services.length = "2"
r.target.userName = "[opera_user_name]"
r.timeStamp = "0"
r.type = "delete"
r.preventDefault(...) // function
r.stopPropagation(...) // function
r.initEvent(...) // function
r.constructor(...) // function
/<<<


Slava V. [about me]


main page



Last updated


  1. Markuper (HTML templates)
  2. .ua
  3. Opera Unite HowTo's
  4. .us (files)
  5. Distribute Your Application
  6. 24/7 sites (permanent applications - idea) [stub]
  7. Issues
  8. HTTP Connections (AJAX/REST)
  9. Cookies
  10. file_wrap.js - File Wrapper
  11. Basic HowTo: Simple app (tutorial)
  12. Static images, client-side scripts
  13. Application Examples
  14. How to Debug Opera Unite apps
  15. Persistence & databases
  16. Opera Unite benchmark
  17. From PHP to Opera Unite
  18. Uniteness (Framework)
  19. Config.xml
  20. Key-value storage
  21. Widget Object
  22. Notifications (Growl'esque)
  23. Reset (debug)
  24. Cron example
  25. What I meant by CNAMEs
  26. Wish List
  27. Device Unavailable
  28. StopLorem (Opera Unite blogging)
  29. uniteness-0.11
  30. GET/POST data
  31. CRUD And Static (example)
  32. Opera object
  33. URLs
  34. Headers & Redirects
  35. Error Console
  36. JSON State (storing data)
  37. Security
  38. /storage/ (in fileio)
  39. Yusef library
  40. unite_info (a-la php_info)
  41. Javascript Imports
  42. onunload / _close
  43. fileio: Sandboxed Filesystem
  44. Request Hierarchy (like php_info)
  45. Intro: Web Apps with Opera Unite