From 7a73162607544204032aa66cce755daf21edebda Mon Sep 17 00:00:00 2001 From: Matt Strapp Date: Tue, 24 May 2022 11:18:46 -0500 Subject: Graduate Signed-off-by: Matt Strapp --- OLD/csci4131/hw4/strap012/403.html | 11 - OLD/csci4131/hw4/strap012/404.html | 11 - OLD/csci4131/hw4/strap012/Coffman.html | 14 -- .../hw4/strap012/Coffman_N_OuttaSpace.html | 27 --- OLD/csci4131/hw4/strap012/MyContacts.html | 114 ----------- OLD/csci4131/hw4/strap012/MyForm.html | 56 ------ OLD/csci4131/hw4/strap012/MyServer.html | 42 ---- OLD/csci4131/hw4/strap012/MyWidgets.html | 149 -------------- OLD/csci4131/hw4/strap012/OuttaSpace.html | 18 -- OLD/csci4131/hw4/strap012/OuttaSpace.mp3 | Bin 735638 -> 0 bytes OLD/csci4131/hw4/strap012/Untitled.png | Bin 91 -> 0 bytes OLD/csci4131/hw4/strap012/carlson.jpg | Bin 39588 -> 0 bytes OLD/csci4131/hw4/strap012/coffman.jpg | Bin 7610 -> 0 bytes OLD/csci4131/hw4/strap012/coffman.png | Bin 161853 -> 0 bytes OLD/csci4131/hw4/strap012/contacts.js | 221 --------------------- OLD/csci4131/hw4/strap012/gophers-mascot.png | Bin 82836 -> 0 bytes OLD/csci4131/hw4/strap012/johnston.jpg | Bin 47355 -> 0 bytes OLD/csci4131/hw4/strap012/morrill.jpg | Bin 48670 -> 0 bytes OLD/csci4131/hw4/strap012/passwordcheck.css | 60 ------ OLD/csci4131/hw4/strap012/passwordcheck.js | 42 ---- OLD/csci4131/hw4/strap012/private.html | 10 - OLD/csci4131/hw4/strap012/shepherd.jpg | Bin 675244 -> 0 bytes OLD/csci4131/hw4/strap012/snyder.jpg | Bin 45356 -> 0 bytes OLD/csci4131/hw4/strap012/strap012.py | 147 -------------- OLD/csci4131/hw4/strap012/style.css | 118 ----------- OLD/csci4131/hw4/strap012/walter.jpg | Bin 150800 -> 0 bytes 26 files changed, 1040 deletions(-) delete mode 100644 OLD/csci4131/hw4/strap012/403.html delete mode 100644 OLD/csci4131/hw4/strap012/404.html delete mode 100644 OLD/csci4131/hw4/strap012/Coffman.html delete mode 100644 OLD/csci4131/hw4/strap012/Coffman_N_OuttaSpace.html delete mode 100644 OLD/csci4131/hw4/strap012/MyContacts.html delete mode 100644 OLD/csci4131/hw4/strap012/MyForm.html delete mode 100644 OLD/csci4131/hw4/strap012/MyServer.html delete mode 100644 OLD/csci4131/hw4/strap012/MyWidgets.html delete mode 100644 OLD/csci4131/hw4/strap012/OuttaSpace.html delete mode 100644 OLD/csci4131/hw4/strap012/OuttaSpace.mp3 delete mode 100644 OLD/csci4131/hw4/strap012/Untitled.png delete mode 100644 OLD/csci4131/hw4/strap012/carlson.jpg delete mode 100644 OLD/csci4131/hw4/strap012/coffman.jpg delete mode 100644 OLD/csci4131/hw4/strap012/coffman.png delete mode 100644 OLD/csci4131/hw4/strap012/contacts.js delete mode 100644 OLD/csci4131/hw4/strap012/gophers-mascot.png delete mode 100644 OLD/csci4131/hw4/strap012/johnston.jpg delete mode 100644 OLD/csci4131/hw4/strap012/morrill.jpg delete mode 100644 OLD/csci4131/hw4/strap012/passwordcheck.css delete mode 100644 OLD/csci4131/hw4/strap012/passwordcheck.js delete mode 100644 OLD/csci4131/hw4/strap012/private.html delete mode 100644 OLD/csci4131/hw4/strap012/shepherd.jpg delete mode 100644 OLD/csci4131/hw4/strap012/snyder.jpg delete mode 100644 OLD/csci4131/hw4/strap012/strap012.py delete mode 100644 OLD/csci4131/hw4/strap012/style.css delete mode 100644 OLD/csci4131/hw4/strap012/walter.jpg (limited to 'OLD/csci4131/hw4/strap012') diff --git a/OLD/csci4131/hw4/strap012/403.html b/OLD/csci4131/hw4/strap012/403.html deleted file mode 100644 index b73e28f..0000000 --- a/OLD/csci4131/hw4/strap012/403.html +++ /dev/null @@ -1,11 +0,0 @@ - - - 403: FORBIDDEN - - -
-

403: FORBIDDEN


- Go back to main page -
- - diff --git a/OLD/csci4131/hw4/strap012/404.html b/OLD/csci4131/hw4/strap012/404.html deleted file mode 100644 index 304d6a0..0000000 --- a/OLD/csci4131/hw4/strap012/404.html +++ /dev/null @@ -1,11 +0,0 @@ - - - 404: NOT FOUND - - -
-

404: NOT FOUND


- Go back to main page -
- - diff --git a/OLD/csci4131/hw4/strap012/Coffman.html b/OLD/csci4131/hw4/strap012/Coffman.html deleted file mode 100644 index 1d68c4b..0000000 --- a/OLD/csci4131/hw4/strap012/Coffman.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - A well known building - - -
- Coffman -
- - - - \ No newline at end of file diff --git a/OLD/csci4131/hw4/strap012/Coffman_N_OuttaSpace.html b/OLD/csci4131/hw4/strap012/Coffman_N_OuttaSpace.html deleted file mode 100644 index 655baa5..0000000 --- a/OLD/csci4131/hw4/strap012/Coffman_N_OuttaSpace.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - - Gopher and Important Announcement - - - -
- Coffman -
-

- OuttaSpace -

- - - - - \ No newline at end of file diff --git a/OLD/csci4131/hw4/strap012/MyContacts.html b/OLD/csci4131/hw4/strap012/MyContacts.html deleted file mode 100644 index d30a03e..0000000 --- a/OLD/csci4131/hw4/strap012/MyContacts.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - My Contacts - - - - - - - - -
-

University Contacts

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameCategoryLocationInformationEmailURL
Joan GabelIndustry100 Church Street SE
202 Morrill Hall
Minneapolis MN 55455
President of the University of Minnesota
upres@umn.eduHome Page
Mostafa KavehIndustry117 Pleasant St SE
105 Walter Library
Minneapolis MN 55455
Dean of the College of Science and Engineering
mos@umn.eduHome Page
John ColemanIndustry101 Pleasant Street SE
215 Johnston Hall
Minneapolis MN 55455
Dean of the College of Liberal Arts
coleman@umn.eduHome Page
Valery ForbesIndustry1475 Gortner Avenue
123 Snyder Hall
St. Paul MN 55108
Dean of the College of Biological Sciences
cbsdeans@umn.eduHome Page
Sri ZaheerIndustry321 19th Avenue S
Suite 4-300 Carlson School of Management
Minneapolis MN 55455
Dean of the Carlson School of Management
szaheer@umn.eduHome Page
- - Goldy Gopher
- - -
-
-
-
-
- -
- Directions to
-
- - - - - -
-
-
- - - - - diff --git a/OLD/csci4131/hw4/strap012/MyForm.html b/OLD/csci4131/hw4/strap012/MyForm.html deleted file mode 100644 index 43529cd..0000000 --- a/OLD/csci4131/hw4/strap012/MyForm.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - There is no form - - - - -
-

Simple Form

-
-

- - - - - - -

-

- - -

-
-
- - diff --git a/OLD/csci4131/hw4/strap012/MyServer.html b/OLD/csci4131/hw4/strap012/MyServer.html deleted file mode 100644 index 7a2da07..0000000 --- a/OLD/csci4131/hw4/strap012/MyServer.html +++ /dev/null @@ -1,42 +0,0 @@ - - - MyServer - - - -
-

MyServer Page


-
- - -
-
- - - -
-
-
-
- Go to MyForm page -
- - diff --git a/OLD/csci4131/hw4/strap012/MyWidgets.html b/OLD/csci4131/hw4/strap012/MyWidgets.html deleted file mode 100644 index cffd3b5..0000000 --- a/OLD/csci4131/hw4/strap012/MyWidgets.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - My Widgets - - - - - - - - -

- - - - - diff --git a/OLD/csci4131/hw4/strap012/OuttaSpace.html b/OLD/csci4131/hw4/strap012/OuttaSpace.html deleted file mode 100644 index 1ca6c63..0000000 --- a/OLD/csci4131/hw4/strap012/OuttaSpace.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - -Sound Test - - -

-OuttaSpace -

- - - - - \ No newline at end of file diff --git a/OLD/csci4131/hw4/strap012/OuttaSpace.mp3 b/OLD/csci4131/hw4/strap012/OuttaSpace.mp3 deleted file mode 100644 index 84d11e3..0000000 Binary files a/OLD/csci4131/hw4/strap012/OuttaSpace.mp3 and /dev/null differ diff --git a/OLD/csci4131/hw4/strap012/Untitled.png b/OLD/csci4131/hw4/strap012/Untitled.png deleted file mode 100644 index 92a4aa1..0000000 Binary files a/OLD/csci4131/hw4/strap012/Untitled.png and /dev/null differ diff --git a/OLD/csci4131/hw4/strap012/carlson.jpg b/OLD/csci4131/hw4/strap012/carlson.jpg deleted file mode 100644 index d82c37c..0000000 Binary files a/OLD/csci4131/hw4/strap012/carlson.jpg and /dev/null differ diff --git a/OLD/csci4131/hw4/strap012/coffman.jpg b/OLD/csci4131/hw4/strap012/coffman.jpg deleted file mode 100644 index 603870a..0000000 Binary files a/OLD/csci4131/hw4/strap012/coffman.jpg and /dev/null differ diff --git a/OLD/csci4131/hw4/strap012/coffman.png b/OLD/csci4131/hw4/strap012/coffman.png deleted file mode 100644 index f23b52c..0000000 Binary files a/OLD/csci4131/hw4/strap012/coffman.png and /dev/null differ diff --git a/OLD/csci4131/hw4/strap012/contacts.js b/OLD/csci4131/hw4/strap012/contacts.js deleted file mode 100644 index 8518ef6..0000000 --- a/OLD/csci4131/hw4/strap012/contacts.js +++ /dev/null @@ -1,221 +0,0 @@ -function change(small, row) { - document.getElementsByClassName("smol")[row].src = small; -} -function lucky() { - var image = ["carlson.jpg", "johnston.jpg", "morrill.jpg", "shepherd.jpg", "snyder.jpg", "walter.jpg"]; - document.getElementById("bigboi").src = image[Math.floor(6 * Math.random())]; -} -let isRotating=0; -function dizzy() { - if (!isRotating) { - document.getElementById("bigboi").classList.remove("isntRotating"); - } else { - document.getElementById("bigboi").classList.add("isntRotating"); - } - isRotating^=1; -} -function check(value) { - if(value==="Other") - document.getElementById('others').style.display = 'block'; - else - document.getElementById('others').style.display = 'none'; -} -let map; -var center = { lat: 44.9727, lng: -93.23540000000003 }; -function initMap() { - if (navigator.geolocation) { - navigator.geolocation.getCurrentPosition( - (position) => { - curLoc = { - lat: position.coords.latitude, - lng: position.coords.longitude, - }; - }, - () => { - alert("Geolocation failed. Directions will not work."); - } - ) - } - map = new google.maps.Map(document.getElementById("map"), { - center: center, - zoom: 14, - }); - - var service = new google.maps.places.PlacesService(map); - entries = document.getElementsByClassName("entry"); - locations = []; - for (e=0; e" + - "" + newEntry.getElementsByClassName("name")[0].textContent + "" + "
" + - newEntry.getElementsByClassName("category")[0].textContent + "
" + - newEntry.getElementsByClassName("room")[0].textContent + " " + newEntry.getElementsByClassName("street")[0].textContent + "
" + - newEntry.getElementsByClassName("city")[0].textContent + - "", - }, - }); - marker.addListener('click', function () { - if (!this.infoWindow) { - this.infoWindow = new google.maps.InfoWindow({ - content: this.data.content, - }); - this.infoWindow.open(map, this); - } - }) - } -} -var service; -var otherRadius; -var searchMarker = []; -function searchPlaces() { - var request; - if (document.getElementById("places").value!="Other") { - request = { - location: center, - radius: document.getElementById("distance").value, - type: document.getElementById("places").value, - }; - service = new google.maps.places.PlacesService(map); - service.nearbySearch(request, (results, status) => { - if (status === google.maps.places.PlacesServiceStatus.OK && results) { - addPointsSearch(results, false); - } - }); - } else { - request = { - location: center, - radius: document.getElementById("distance").value, - query: document.getElementById("others").value, - }; - otherRadius = request.radius; - service = new google.maps.places.PlacesService(map); - service.textSearch(request, (results, status) => { - if (status === google.maps.places.PlacesServiceStatus.OK && results) { - addPointsSearch(results, true); - } - }); - } -} - -function addPointsSearch(locations, isOther) { - deleteMarkers(); - for (x in locations) { - var marker; - if (isOther) { - if (google.maps.geometry.spherical.computeDistanceBetween(locations[x].geometry.location, map.getCenter()) < parseInt(otherRadius)) { - marker = new google.maps.Marker({ - map, - title: locations[x].name, - position: locations[x].geometry.location, - data: { - content: "" + locations[x].name + "" - + "
" + locations[x].formatted_address - }, - }); - } - } else { - marker = new google.maps.Marker({ - map, - title: locations[x].name, - position: locations[x].geometry.location, - data: { - content: "" + locations[x].name + "" - + "
" + locations[x].vicinity - }, - }); - } - if (marker) { - marker.addListener('click', function () { - if (!this.infoWindow) { - this.infoWindow = new google.maps.InfoWindow({ - content: this.data.content, - }); - this.infoWindow.open(map, this); - } - }) - searchMarker.push(marker); - } - - } -} -function deleteMarkers() { - for (let i = 0; i < searchMarker.length; i++) { - searchMarker[i].setMap(null); - } - searchMarker = []; -} - -var curLoc, directionsService, directionsRenderer; -function directions () { - directionsService = new google.maps.DirectionsService(); - directionsRenderer = new google.maps.DirectionsRenderer(); - document.getElementById("transitList").textContent = ""; - directionsRenderer.setPanel(document.getElementById("transitList")); - directionsRenderer.setMap(map); - var selectedMode = document.getElementById('means').value; - var dest = { - query: document.getElementById("destination").value, - fields: ['name', 'geometry'], - }; - service = new google.maps.places.PlacesService(map); - service.findPlaceFromQuery(dest, function (results, status) { - if (status === google.maps.places.PlacesServiceStatus.OK) { - console.log(results); - doDirections(results[0]); - } - }); -} - -function doDirections(input) { - var means; - var mean = document.getElementsByName('means'); - for (var i = 0; i < mean.length; i++) { - if (mean[i].checked) { - means = mean[i].value; - } - } - - var request = { - origin: curLoc, - destination: input.geometry.location, - // Note that JavaScript allows us to access the constant - // using square brackets and a string value as its - // "property." - travelMode: google.maps.TravelMode[means] - }; - directionsService.route(request, function (result, status) { - if (status == 'OK') { - directionsRenderer.setDirections(result); - } - }); -} - -function initForm() { - map = new google.maps.Map(document.getElementById("formap"), { - center: center, - zoom: 14, - }); -} \ No newline at end of file diff --git a/OLD/csci4131/hw4/strap012/gophers-mascot.png b/OLD/csci4131/hw4/strap012/gophers-mascot.png deleted file mode 100644 index 44e62fa..0000000 Binary files a/OLD/csci4131/hw4/strap012/gophers-mascot.png and /dev/null differ diff --git a/OLD/csci4131/hw4/strap012/johnston.jpg b/OLD/csci4131/hw4/strap012/johnston.jpg deleted file mode 100644 index b8b7f68..0000000 Binary files a/OLD/csci4131/hw4/strap012/johnston.jpg and /dev/null differ diff --git a/OLD/csci4131/hw4/strap012/morrill.jpg b/OLD/csci4131/hw4/strap012/morrill.jpg deleted file mode 100644 index 144d458..0000000 Binary files a/OLD/csci4131/hw4/strap012/morrill.jpg and /dev/null differ diff --git a/OLD/csci4131/hw4/strap012/passwordcheck.css b/OLD/csci4131/hw4/strap012/passwordcheck.css deleted file mode 100644 index beceb1c..0000000 --- a/OLD/csci4131/hw4/strap012/passwordcheck.css +++ /dev/null @@ -1,60 +0,0 @@ -#password{ - margin: 0; - padding: 0; - font-family: 'Raleway', sans-serif; - font-size: 15px; - line-height: 1.5; -} -#container { - width: 535px; - background: #ffffff; - padding: 20px; - margin: 90px auto; - border-radius: 5px; - height: 150px; - border: 2px solid gray; -} -#header { - text-align: center; - background-color: #FEFFED; - border-radius: 5px; - margin: -39px -20px 10px -20px; -} -.password{ - padding-top: 10px; -} -#content { - margin-left: 57px; - margin-top: 40px; -} -#register label{ - margin-right:5px; -} -#register input { - padding: 5px 14px; - border: 1px solid #d5d9da; - box-shadow: 0 0 9px #0E34F5 inset; - width: 272px; - font-size: 1em; - height: 25px; -} -#register .short{ - font-weight:bold; - color:#FF0000; - font-size:larger; -} -#register .weak{ - font-weight:bold; - color:orange; - font-size:larger; -} -#register .good{ - font-weight:bold; - color:#2D98F3; - font-size:larger; -} -#register .strong{ - font-weight:bold; - color: limegreen; - font-size:larger; -} diff --git a/OLD/csci4131/hw4/strap012/passwordcheck.js b/OLD/csci4131/hw4/strap012/passwordcheck.js deleted file mode 100644 index 97a2918..0000000 --- a/OLD/csci4131/hw4/strap012/passwordcheck.js +++ /dev/null @@ -1,42 +0,0 @@ -var input; -var result = document.querySelector("span"); -window.addEventListener('DOMContentLoaded', (event) => { - input = document.getElementsByName("password")[0]; -}); -function checkStrength() { - var password = input.value; - var strength = 0; - if (password.length < 6) { - result.removeAttribute("class"); - result.classList.add('short'); - result.innerHTML = "Too short"; - return; - } - if (password.length > 7) { strength += 1;} - // If password contains both lower and uppercase characters, increase strength value. - if (password.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/)) { strength += 1;} - // If it has numbers and characters, increase strength value. - if (password.match(/([a-zA-Z])/) && password.match(/([0-9])/)) { strength += 1;} - // If it has one special character, increase strength value. - if (password.match(/([!,%,&,@,#,$,^,*,?,_,~])/)) { strength += 1;} - // If it has two special characters, increase strength value. - if (password.match(/(.*[!,%,&,@,#,$,^,*,?,_,~].*[!,%,&,@,#,$,^,*,?,_,~])/)) { strength += 1;} - // Calculated strength value, we can return messages - // If value is less than 2 - if (strength < 2) { - result.removeAttribute("class"); - result.classList.add('weak'); - result.innerHTML = 'Weak'; - return; - } else if (strength == 2) { - result.removeAttribute("class"); - result.classList.add('good'); - result.innerHTML = 'Good'; - return; - } else { - result.removeAttribute("class"); - result.classList.add('strong'); - result.innerHTML = 'Strong'; - return; - } -} diff --git a/OLD/csci4131/hw4/strap012/private.html b/OLD/csci4131/hw4/strap012/private.html deleted file mode 100644 index 85c0635..0000000 --- a/OLD/csci4131/hw4/strap012/private.html +++ /dev/null @@ -1,10 +0,0 @@ - - - Private - - -
-

This file should trigger a 403 response!!!


-
- - diff --git a/OLD/csci4131/hw4/strap012/shepherd.jpg b/OLD/csci4131/hw4/strap012/shepherd.jpg deleted file mode 100644 index d1262f8..0000000 Binary files a/OLD/csci4131/hw4/strap012/shepherd.jpg and /dev/null differ diff --git a/OLD/csci4131/hw4/strap012/snyder.jpg b/OLD/csci4131/hw4/strap012/snyder.jpg deleted file mode 100644 index 4531a58..0000000 Binary files a/OLD/csci4131/hw4/strap012/snyder.jpg and /dev/null differ diff --git a/OLD/csci4131/hw4/strap012/strap012.py b/OLD/csci4131/hw4/strap012/strap012.py deleted file mode 100644 index 31668af..0000000 --- a/OLD/csci4131/hw4/strap012/strap012.py +++ /dev/null @@ -1,147 +0,0 @@ -#!/usr/bin/env python3 -# See https://docs.python.org/3.2/library/socket.html -# for a decscription of python socket and its parameters -import socket -import os -import stat - - -from threading import Thread -from argparse import ArgumentParser -from urllib.parse import unquote - -BUFSIZE = 4096 -CRLF = '\r\n' -NOT_FOUND = 'HTTP/1.1 404 NOT FOUND{}Connection: close{}{}'.format(CRLF, CRLF, CRLF) -FORBIDDEN = 'HTTP/1.1 403 FORBIDDEN{}Connection: close{}{}'.format(CRLF, CRLF, CRLF) -METHOD_NOT_ALLOWED = 'HTTP/1.1 405 METHOD NOT ALLOWED{}Allow: GET, HEAD, POST {}Connection: close{}{}'.format(CRLF, CRLF, CRLF, CRLF) -OK = 'HTTP/1.1 200 OK{}Connection: close{}'.format(CRLF, CRLF) # head request only - -# check file permissions -is file world readable? -def check_perms(resource): - stmode = os.stat(resource).st_mode - return(getattr(stat, 'S_IROTH') & stmode) > 0 - -# Puts together the HTML for the POST form return -def POST(form): - form = unquote(form) - form = form.replace("+", " ").split("&") - contents = "" - if len(form) == 0: - return contents - for x in form: - x = x.split("=") - contents = contents + "\n" + x[0] + "\n" + x[1] + "\n\n" - table = "" + contents + "
" - ret = "\n\n\n\n\nTest\n\n\n

\nFollowing Form Data Submitted Successfully:


\n{}\n\n".format(table) - return ret -#For Content Type -def getType(type): - if type == "html": - return "text/html" - elif type == "css": - return "text/css" - elif type == "js": - return "text/javascript" - elif type == "mp3": - return "audio/mpeg" - elif type == "jpg" or type == "jpeg": - return "image/jpeg" - elif type == "png": - return "image/png" - else: - raise TypeError - -def getContents(type, file, contents): - if type =="POST": - return b"".join( - [OK.encode(), "{}".format(CRLF).encode(), POST(contents).encode(), "{}{}".format(CRLF, CRLF).encode()]) - returnValue = "".encode() - try: - if file.split("?")[0] == "redirect": - contents = file.split("?")[1].split("=")[-1] - return "HTTP/1.1 307 TEMPORARY REDIRECT{}Connection: close{}Location:{}{}{}".format(CRLF, CRLF, "https://youtube.com/results?search_query=" + contents, CRLF, CRLF).encode() - if not check_perms(file): - raise PermissionError - content = open(file, 'rb') - except FileNotFoundError: - returnValue = NOT_FOUND.encode() - with open("404.html", "rb") as fof: - returnValue = b"".join( - [returnValue, fof.read(), "{}{}".format(CRLF, CRLF).encode()]) - except PermissionError: - returnValue = FORBIDDEN.encode() - with open("403.html", "rb") as forb: - returnValue = b"".join( - [returnValue, forb.read(), "{}{}".format(CRLF, CRLF).encode()]) - else: - returnValue = OK.encode() - if type == "HEAD": - returnValue = b"".join( - [returnValue, "{}{}".format(CRLF, CRLF).encode()]) - elif type == "GET": - ext = getType(file.split(".")[1]) - returnValue = b"".join( - [returnValue, "Content Type: {}".format(ext).encode(), "{}{}".format(CRLF, CRLF).encode()]) - returnValue = b"".join( - [returnValue, content.read(), "{}{}".format(CRLF, CRLF).encode()]) - else: - returnValue= METHOD_NOT_ALLOWED.encode() - content.close() - return returnValue - -def client_recv(client_sock, client_addr): - print('talking to {}'.format(client_addr)) - data = client_sock.recv(BUFSIZE) - data = data.decode('utf-8').strip("\r") - print(data) - data = data.split("\n") - request = data[0].split(" ") - if len(request) > 1: - want = getContents(request[0], request[1][1:], data[-1]) - client_sock.send(want) - client_sock.shutdown(1) - client_sock.close() - - print('connection closed.') - - -class EchoServer: - def __init__(self, host, port): - print("Server") - print('listening on port {}'.format(port)) - self.host = host - self.port = port - - self.setup_socket() - - self.accept() - - self.sock.shutdown() - self.sock.close() - - def setup_socket(self): - self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - self.sock.bind((self.host, self.port)) - self.sock.listen(128) - - def accept(self): - while True: - (client, address) = self.sock.accept() - th = Thread(target=client_recv, args=(client, address)) - th.start() - -def parse_args(): - parser = ArgumentParser() - parser.add_argument('--host', type=str, default='localhost', - help='specify a host to operate on (default: localhost)') - parser.add_argument('-p', '--port', type=int, default=9001, - help='specify a port to operate on (default: 9001)') - args = parser.parse_args() - return (args.host, args.port) - - -if __name__ == '__main__': - (host, port) = parse_args() - EchoServer(host, port) - diff --git a/OLD/csci4131/hw4/strap012/style.css b/OLD/csci4131/hw4/strap012/style.css deleted file mode 100644 index 9f28572..0000000 --- a/OLD/csci4131/hw4/strap012/style.css +++ /dev/null @@ -1,118 +0,0 @@ -/* Global */ -body { - background-color:antiquewhite; -} -.linkTable { - border: 1px solid black; - margin-left: 20px; - background-color: white; - border-collapse: separate; -} - -/* Contacts */ -table, th, td { - max-width: 80%; - overflow-x:auto; - border: 1px solid black; - border-collapse: collapse; -} -table { - float:left; - max-width: 60%; -} -tr:nth-child(even) { - background-color:blanchedalmond; -} -tr:nth-child(odd) { - background-color: burlywood; -} -.smol { - max-height: 100%; - width: 6em; -} -.large { - float: right; - max-width: max-content; -} -#bigboi { - width: 25em; - height: 15em; - object-fit: cover; - margin-right: 0; -} -.isRotating { - animation:5s rotate infinite linear; -} -.isntRotating { - animation-play-state: paused; -} -@keyframes rotate{ - 100%{ transform:rotate(1turn) } -} -#map, #formap { - /* clear: both; */ - float: left; - padding-top: 30%; - margin-top: 1em; - margin-left: .2em; - width: 50%; - height: 30%; - max-height: 40%; -} -#formap { - float: right; -} -#transitList { - float: left; - width: 20%; - color: white; -} -.id { - text-align: center; -} -#googlymap { - width: 100%; - overflow: auto; - /* display: flex; */ - /* position: absolute; */ -} - -.inputBox { - float: left; - border: 1px solid black; - width: 25%; -} -.inputBox:nth-child(even) { - background-color:blanchedalmond; -} -.inputBox:nth-child(odd) { - background-color: burlywood; -} -#others { - display:none; -} - -/* Form */ -.Form { - float: left; - background-color: whitesmoke; - padding-left: 5%; - max-width: 25%; -} -/* Widgets */ -.grid { - align-content: center; - display: inline-grid; - grid-template-columns: 40% 40%; - grid-template-rows: 30%; - gap: .1em 10%; -} -.griditem { - padding: 10%; -} -iframe { - border: 0px; -} - - - diff --git a/OLD/csci4131/hw4/strap012/walter.jpg b/OLD/csci4131/hw4/strap012/walter.jpg deleted file mode 100644 index 37d0d56..0000000 Binary files a/OLD/csci4131/hw4/strap012/walter.jpg and /dev/null differ -- cgit v1.2.3