def do_POST(self):
     # pylint: disable=E1101
     if self.path == '/RPC2':
         SimpleJSONRPCRequestHandler.do_POST(self)
     else:
         __pychecker__ = 'no-classattr'
         SimpleHTTPRequestHandler.do_POST(self)
Exemple #2
0
    def do_POST(self):
        if (self.path == "/comments.json"):
            form = cgi.FieldStorage(
                fp=self.rfile,
                headers=self.headers,
                environ={'REQUEST_METHOD':'POST',
                         'CONTENT_TYPE':self.headers['Content-Type']}
            )

            # Save the data
            comments.append({u"author": form.getfirst("author"), u"text": form.getfirst("text")})
            sendJSON(self)
        else:
            SimpleHTTPRequestHandler.do_POST(self)
Exemple #3
0
 def do_POST(self):
     print "got post!!"
     content_len = int(self.headers.getheader('content-length', 0))
     # post_body = self.rfile.read(content_len)
     post_body = '{"servname": "test_serv", "ip": "1.1.1.1"}'
     test_data = simplejson.loads(post_body)
     print "post_body(%s)" % (test_data)
     return SimpleHTTPRequestHandler.do_POST(self)
Exemple #4
0
    def do_POST(self):
        if (self.path == "/comments.json"):
            form = cgi.FieldStorage(fp=self.rfile,
                                    headers=self.headers,
                                    environ={
                                        'REQUEST_METHOD':
                                        'POST',
                                        'CONTENT_TYPE':
                                        self.headers['Content-Type']
                                    })

            # Save the data
            comments.append({
                u"author": form.getfirst("author"),
                u"text": form.getfirst("text")
            })
            sendJSON(self)
        else:
            SimpleHTTPRequestHandler.do_POST(self)
    def do_POST(self):
        if self.should_proxy(self.path):
            form = cgi.FieldStorage(
                fp = self.rfile,
                headers = self.headers,
                environ = {
                    "REQUEST_METHOD" : "POST",
                    "CONTENT_TYPE" : self.headers["Content-Type"]
                }
            )

            post_dict = {}
            for key in form:
                post_dict[key] = form[key].value
            post_data_str = urllib.urlencode(post_dict)

            real_url = self.generate_real_url(self.path)
            self.copyfile(urllib.urlopen(real_url, post_data_str), self.wfile)
        else:
            SimpleHTTPRequestHandler.do_POST(self)
Exemple #6
0
	def do_POST(self):
		if (self.path == "/src/tasks.json"):
			form = cgi.FieldStorage(
				fp=self.rfile,
				headers=self.headers,
				environ={'REQUEST_METHOD':'POST', 'CONTENT_TYPE':self.headers['Content-Type']}
			)
			with open('./src/tasks.json', 'r') as infile:
				tasks = json.loads(infile.read())
			tasks.append({
				u"id": int(form.getfirst("id")),
				u"isComplete": False,
				u"isDeleted": False,
				u"text": form.getfirst("text"),
				u"dateDue": form.getfirst("dateDue")
			})
			with open('./src/tasks.json', 'w') as outfile:
				json.dump(tasks, outfile)
			sendJSON(self)
		else:
			SimpleHTTPRequestHandler.do_POST(self)
 def do_POST(self):
     print "got post!!"
     if self.path.find("/save") == 0:
         state = self.path.split("/")[2]
         content_len = int(self.headers.getheader('content-length', 0))
         print content_len
         post_body = self.rfile.read(content_len)
         output = open("images/" + state + "/" + str(time.time()) + ".png",
                       "wb")
         output.write(post_body)
         output.close()
     else:
         return SimpleHTTPRequestHandler.do_POST(self)
Exemple #8
0
 def do_POST(self):
     if (self.path == "/src/tasks.json"):
         form = cgi.FieldStorage(fp=self.rfile,
                                 headers=self.headers,
                                 environ={
                                     'REQUEST_METHOD':
                                     'POST',
                                     'CONTENT_TYPE':
                                     self.headers['Content-Type']
                                 })
         with open('./src/tasks.json', 'r') as infile:
             tasks = json.loads(infile.read())
         tasks.append({
             u"id": int(form.getfirst("id")),
             u"isComplete": False,
             u"isDeleted": False,
             u"text": form.getfirst("text"),
             u"dateDue": form.getfirst("dateDue")
         })
         with open('./src/tasks.json', 'w') as outfile:
             json.dump(tasks, outfile)
         sendJSON(self)
     else:
         SimpleHTTPRequestHandler.do_POST(self)
Exemple #9
0
    def do_POST(self):
        """
    Handles POST requests.
    """
        if self.path == '/comments':
            length = int(self.headers.getheader('content-length', 0))
            try:
                data = json.loads(self.rfile.read(length))
            except ValueError:
                self.send_response(422)
                self.send_header('Content-type', 'application/json')
                self.end_headers()

                error = {'error': 'Must provide a valid json body.'}
                self.wfile.write(json.dumps(error))
                return

            name = data.get('name')
            message = data.get('message')

            if (name is None or message is None
                    or not isinstance(name, basestring)
                    or not isinstance(message, basestring) or name == ''
                    or message == ''):
                self.send_response(422)
                self.send_header('Content-type', 'application/json')
                self.end_headers()

                error = {'error': 'Must provide a valid name and message.'}
                self.wfile.write(json.dumps(error))
            else:
                comments.append({'name': name, 'message': message})
                self.send_response(200)
                self.end_headers()

                success = {}
                self.wfile.write(json.dumps(success))
        else:
            return SimpleHTTPRequestHandler.do_POST(self)
Exemple #10
0
  def do_POST(self):
    """
    Handles POST requests.
    """
    is_post = self.path == '/entries'
    is_put = bool(self.PUT_PATH_REGEX.match(self.path))
    is_delete = bool(self.DELETE_PATH_REGEX.match(self.path))

    if is_post or is_put or is_delete:
      valid = True

      if is_post or is_put:
        # read entry from request body
        length = int(self.headers.getheader('content-length', 0))
        try:
          data = json.loads(self.rfile.read(length))
        except ValueError:
          self.respond(self.STATUS_USER_ERROR, self.TYPE_PLAIN,
            'Must provide a valid JSON body.')
          return

        # must validate all entry fields
        valid = valid and self.validate_entry_data(data)

      # for put and delete, must validate id
      if is_put:
        entry_id = self.PUT_PATH_REGEX.match(self.path).group(1)
        valid = valid and self.validate_entry_id(entry_id)

      if is_delete:
        entry_id = self.DELETE_PATH_REGEX.match(self.path).group(1)
        valid = valid and self.validate_entry_id(entry_id)

      if valid:
        # perform appropriate action
        if is_post:
          entry = {
            'id': str(uuid.uuid4()),
            'name': data['name'],
            'address': data['address'],
            'description': data['description'],
          }

          entries.append(entry)
          self.respond(self.STATUS_OK, self.TYPE_JSON, json.dumps(entry))
        elif is_put:
          entry = {
            'id': entry_id,
            'name': data['name'],
            'address': data['address'],
            'description': data['description'],
          }

          index = self.entry_index_by_id(entry_id)
          entries[index] = entry
          self.respond(self.STATUS_OK, self.TYPE_JSON, json.dumps(entry))
        else:  # delete path
          index = self.entry_index_by_id(entry_id)
          entries.pop(index)

          success = {'success': True}
          self.respond(self.STATUS_OK, self.TYPE_JSON, json.dumps(success))
    else:
      return SimpleHTTPRequestHandler.do_POST(self)
Exemple #11
0
 def do_POST(self):
     if self.handle_git('POST'):
         return
     SimpleHTTPRequestHandler.do_POST(self)
Exemple #12
0
 def do_POST(self):
   if self.handle_git('POST'):
     return
   SimpleHTTPRequestHandler.do_POST(self)
Exemple #13
0
    def do_POST(self):
        """
    Handles POST requests.
    """
        is_post = self.path == '/entries'
        is_put = bool(self.PUT_PATH_REGEX.match(self.path))
        is_delete = bool(self.DELETE_PATH_REGEX.match(self.path))

        if is_post or is_put or is_delete:
            valid = True

            if is_post or is_put:
                # read entry from request body
                length = int(self.headers.getheader('content-length', 0))
                try:
                    data = json.loads(self.rfile.read(length))
                except ValueError:
                    self.respond(self.STATUS_USER_ERROR, self.TYPE_PLAIN,
                                 'Must provide a valid JSON body.')
                    return

                # must validate all entry fields
                valid = valid and self.validate_entry_data(data)

            # for put and delete, must validate id
            if is_put:
                entry_id = self.PUT_PATH_REGEX.match(self.path).group(1)
                valid = valid and self.validate_entry_id(entry_id)

            if is_delete:
                entry_id = self.DELETE_PATH_REGEX.match(self.path).group(1)
                valid = valid and self.validate_entry_id(entry_id)

            if valid:
                # perform appropriate action
                if is_post:
                    entry = {
                        'id': str(uuid.uuid4()),
                        'name': data['name'],
                        'address': data['address'],
                        'description': data['description'],
                    }

                    entries.append(entry)
                    self.respond(self.STATUS_OK, self.TYPE_JSON,
                                 json.dumps(entry))
                elif is_put:
                    entry = {
                        'id': entry_id,
                        'name': data['name'],
                        'address': data['address'],
                        'description': data['description'],
                    }

                    index = self.entry_index_by_id(entry_id)
                    entries[index] = entry
                    self.respond(self.STATUS_OK, self.TYPE_JSON,
                                 json.dumps(entry))
                else:  # delete path
                    index = self.entry_index_by_id(entry_id)
                    entries.pop(index)

                    success = {'success': True}
                    self.respond(self.STATUS_OK, self.TYPE_JSON,
                                 json.dumps(success))
        else:
            return SimpleHTTPRequestHandler.do_POST(self)
    def do_POST(self):
        """
    Handles POST requests.
    """
        is_post = self.path == "/entries"
        is_put = bool(self.PUT_PATH_REGEX.match(self.path))
        is_delete = bool(self.DELETE_PATH_REGEX.match(self.path))

        if is_post or is_put or is_delete:
            valid = True

            if is_post or is_put:
                # read entry from request body
                length = int(self.headers.getheader("content-length", 0))
                try:
                    data = json.loads(self.rfile.read(length))
                except ValueError:
                    self.send_response(422)
                    self.send_header("Content-type", "text/plain")
                    self.end_headers()

                    error = "Must provide a valid JSON body."
                    self.wfile.write(error)
                    return

                # must validate all entry fields
                valid = valid and self.validate_entry_data(data)

            # for put and delete, must validate id
            if is_put:
                entry_id = self.PUT_PATH_REGEX.match(self.path).group(1)
                valid = valid and self.validate_entry_id(entry_id)

            if is_delete:
                entry_id = self.DELETE_PATH_REGEX.match(self.path).group(1)
                valid = valid and self.validate_entry_id(entry_id)

            if valid:
                self.send_response(200)
                self.end_headers()

                # perform appropriate action
                if is_post:
                    entry = {
                        "id": str(uuid.uuid4()),
                        "name": data["name"],
                        "address": data["address"],
                        "description": data["description"],
                    }

                    entries.append(entry)
                    self.wfile.write(json.dumps(entry))
                elif is_put:
                    entry = {
                        "id": entry_id,
                        "name": data["name"],
                        "address": data["address"],
                        "description": data["description"],
                    }

                    index = self.entry_index_by_id(entry_id)
                    entries[index] = entry
                    self.wfile.write(json.dumps(entry))
                else:  # delete path
                    index = self.entry_index_by_id(entry_id)
                    entries.pop(index)

                    success = {"success": True}
                    self.wfile.write(json.dumps(success))
        else:
            return SimpleHTTPRequestHandler.do_POST(self)
Exemple #15
0
 def do_POST(self):
     SimpleHTTPRequestHandler.do_POST(self)