aboutsummaryrefslogtreecommitdiff
path: root/launch-web.c
diff options
context:
space:
mode:
Diffstat (limited to 'launch-web.c')
-rwxr-xr-xlaunch-web.c101
1 files changed, 0 insertions, 101 deletions
diff --git a/launch-web.c b/launch-web.c
deleted file mode 100755
index ff2970b..0000000
--- a/launch-web.c
+++ /dev/null
@@ -1,101 +0,0 @@
-#include <unistd.h>
-#include <stdio.h>
-#include <string.h>
-#include <pthread.h>
-#include <netinet/in.h>
-#include <sys/socket.h>
-#include <iceys-utils.h>
-#include <Server.h>
-
-void server_close(struct Server *server){
- server->running=false;
-
- sleep(1);
-
- int shuterr=shutdown(server->socket,SHUT_RDWR);
- int closeerr=close(server->socket);
-
- printf("\nshutdown with %d : %d\n",shuterr,closeerr);
- //free(server);
-}
-
-void *server_loop(void *threadarg){
- struct Server *server;
- server=(struct Server *) threadarg;
-
- char buffer[30000]={0};
- int addrlen= sizeof(server->address);
-
- int new_socket;
- char *meta_type="\r\ncontent-type: text/html\r\n\r\n";
-
- printf("running on port: %d",server->port);
-
- while (server->running){
- char metadata[100]="";
-
- printf("\n=== WAITING FOR CONNECTION ===\n\n");
- new_socket = accept(server->socket, (struct sockaddr *)&server->address, (socklen_t *)&addrlen);
-
- if(new_socket<0){ break; }
-
- if(read(new_socket,buffer,29999)<0){ printf("\nREAD FAILED\n\n"); close(new_socket); break; }
- buffer[29999]='\0';
-
- printf("%s\n",buffer);
-
- char response[30000] = {0};
-
-
- char file_req_buf[1000]={0};
- strcpy(file_req_buf,server->html_folder);
- char file_req[1000]={0};
- str_before_nth(buffer+5, file_req, ' ', 0);
- strcat(file_req_buf,file_req);
-
-
- printf("file req: %s====\n",file_req_buf);
-
-
- if(strncmp(file_req, "", 1) == 0){
- strcat(file_req_buf,"index.html");
- }
-
- char file_req_buf2[1000]={0};
- strcpy(file_req_buf2,str_remove_all(file_req_buf,".."));
- printf("file ret: %s====\n",file_req_buf);
-
-
- if (access(file_req_buf, F_OK) == 0) {
- char *status="HTTP/1.0 200 OK";
- memcpy(metadata,status,strlen(status));
- memcpy(metadata+strlen(metadata),meta_type,strlen(meta_type));
- memcpy(response, metadata, strlen(metadata));
- FILE* file=fopen(file_req_buf, "r");
- fread(response + strlen(metadata), 30000 - strlen(metadata) - 1, 1, file);
- fclose(file);
- } else {
- char *status="HTTP/1.0 404 Not Found";
- memcpy(metadata,status,strlen(status));
- memcpy(metadata+strlen(metadata),meta_type,strlen(meta_type));
- memcpy(response, metadata, strlen(metadata));
- char* error = "error 404 file not found";
- memcpy(response + strlen(metadata), error, strlen(error));
- }
-
- printf("\n\n==response==\n%s\n",response);
-
- write(new_socket, response, strlen(response));
- close(new_socket);
- }
-
- pthread_exit(NULL);
-}
-
-pthread_t launch(struct Server *server){
- //HTTP/1.0 200 OK
-
- pthread_t id;
- int thread_err=pthread_create(&id, NULL, server_loop, (void *) server);
- return id;
-}